تساءلت لوقت طويل: هل معرفة أساسيات علوم الكمبيوتر فقط يساعد في أن تصبح مطورًا أفضل؟ وهل يمكن أن يضيف قيمة إلى مطور؟

إذا سألت نفسك هذه الأسئلة أيضًا ، ولا تريد استثمار الوقت (حتى الآن) في تعلم علوم الكمبيوتر ، فإليك قصة تجربتي الخاصة. في هذا المقال سأجيب على الأسئلة التالية:

  • لماذا نتعلم علوم الكمبيوتر؟
  • ما هي خطتي الدراسية؟
  • ما هي الموارد التي استخدمتها؟
  • هل تعلمت شيئًا مفيدًا يمكن تحويله إلى وظيفتي اليومية كمطور؟

لقد بدأت بهذه القائمة الرائعة من الموارد: علم نفسك علوم الكمبيوتر . إنها في الأساس عبارة عن إرشادات حول كيفية دراسة علوم الكمبيوتر كمهندس برمجيات ، دون إنفاق الكثير من المال في محاولة الدخول إلى معهد ماساتشوستس للتكنولوجيا.

فلماذا تتعلم علوم الكمبيوتر بنفسك؟

هذا سؤال بسيط ولكنه مهم: لماذا نفعل ذلك في المقام الأول؟

لكل مشروع يتطلب قدرًا كبيرًا من التحفيز ، أحاول أولاً لتحديد الأهداف المناسبة :

  1. القدرة على التعلم لغة جديدة / تقنية جديدة اسرع بواسطة معرفة بعض المفاهيم الأساسية يمكنك تطبيقها على كل لغة / التكنولوجيا.
  2. تحسين فهمي لمستويات التجريد المنخفضة. يمكن أن يؤدي فهم “كيفية عملها تحت الغطاء” بشكل أفضل إلى تحسين فهمي وبالتالي كفاءتي في حل الأخطاء أو تصميم الخوارزميات.
  3. اجعل الكود الخاص بي أكثر منطقية أيضًا.
  4. أعتقد أن فهم المفاهيم الأساسية هو مفتاح للابتكار في مجال التنمية.
  5. )

  6. فهم تاريخ الصناعة: لماذا نحن حيث نحن الآن ، ماذا يمكننا أن نفعل لتحسين عالم الحوسبة؟

علوم الحاسب 101: الخطة الدراسية

لست مهتمًا بمحاولة قراءة كل كتاب عن علوم الكمبيوتر. يجب أن تزودني على الأقل ببعض الإحساس بالفهم.

لهذا السبب ركزت خطتي الدراسية على الاحتفاظ بالذاكرة ، وفهم وبناء مرجع سريع لما تعلمته ، حتى أتمكن من المجيء العودة إليها بسهولة.

  1. كنت أدرس حوالي 2 إلى 3 ساعات كل أسبوع ، حسب أولوياتي. لم أكن أريد أن أفعل الكثير وأشعر بالإرهاق والضجر من علوم الكمبيوتر. كان أهم شيء بالنسبة لي هو الدراسة بشكل منتظم ، مهما كان الوقت. يجب أن يكون شيئًا استمتعت به.
  2. أثناء دراسة مادة جديدة ، كتبت ملخصات عنها في شكل خرائط ذهنية . هذا له ميزتان: الكتابة تساعد على تذكر ما تعلمته ويمكنني بسهولة تذكر بعض المفاهيم الأساسية عندما أحتاج إليها ، في أي وقت من الأوقات.
  3. وقت دراستي هو مقسمة إلى فئتين:
    • تعلم جديد (فصل جديد في كتاب ، مشاهدة دورة فيديو جديدة ، عمل أمثلة وتمارين)
    • ما أسميه “استدعاء قاعدة المعرفة”. إنها تقوم بشكل أساسي بعمل (المزيد) تمارين حول المادة الجديدة التي قرأتها / شاهدتها في الأسبوع السابق ، وقراءة خرائط ذهني ، ومحاولة تذكر ما كتبته فيها.
  4. فيما يتعلق بالتمارين ، أحاول ألا أقضي أكثر من 30 دقيقة على كل منها. الهدف هو النضال بما يكفي لتذكر المفهوم ولكن ليس كثيرًا للشعور بالحرق. إنه توازن دقيق.
  5. أحاول إعادة بعض التمارين التي لم أستطع القيام بها في المرة الأولى ، أيام (حتى أسابيع) بعد المحاولات المختلفة ، لمعرفة ما إذا كنت تحسن فهمي.
  6. أحاول تطبيق بعض تعليم فعال من خلال القيام بأكبر عدد ممكن من التمارين ، وطرح الأسئلة على نفسي أثناء مراجعة خرائط ذهني.

    إعادة النظر في ما تعلمته من أسبوع إلى آخر هو حقًا مفيد حقًا في تحسين استبقاء الذاكرة وفهمي.

    ما فعلته حتى الآن

    هنا ما قمت به بالضبط خلال هذه (تقريبًا) 100 ساعة من دراسة علوم الكمبيوتر ، بترتيب زمني.

    )

    أنا. البرمجة (32 ساعة و 55 دقيقة)

    بومودورو (25 دقيقة) تتم أسبوعيًا لجزء البرمجة

    المقال بعنوان “ علم نفسك علوم الكمبيوتر

    “حددت أنني يجب أن أتبع” تقريبًا “ترتيب الدراسة الذي يقترحونه ، بدءًا من مجال البرمجة.

    المصدر الرئيسي: هيكل وتفسير برامج الحاسوب (SICP)

    يعتبر هذا الكتاب من قبل الكثيرين بمثابة الكتاب المقدس الذي يجب على كل مطور قراءته. إنه مجاني ويمكنك العثور على الأفضل نسخ epub و PDF هنا

. يمكنك إيجاد حلول التمارين هنا .

نجحت في أداء جميع التمارين تقريبًا حتى

1.2. 5 أكبر قواسم مشتركة . المورد التكميلي: فيديوهات بيركلي

مقاطع الفيديو هي متوفر هنا . ملاحظات الدورة هي هنا. إذا قمت بالبحث عن بعض نماذج الاختبارات من بيركلي ، فستجد أنها هنا.

هذه تكملة جيدة جدًا للكتاب: يتم شرح المفاهيم دون أن تطلب منك الكثير عن الرياضيات ، على عكس الكتاب. إذا كنت ترغب في دراسة SICP ولكن خلفيتك الرياضية ليست قوية بما يكفي ، فما عليك سوى اتباع هذه الدورة. لي الملاحظات والتمارين هنا .

ما تعلمته من SICP حتى الآن

  • إن بداية هذا الكتاب ممتعة للغاية لفهم جذور البرمجة الوظيفية والتكرار.
  • إنه يحدد الكثير من المصطلحات التي يستخدمها المبرمجون كل يوم ، في بطريقة دقيقة. مثالي ليكون أكثر دقة أثناء المناقشات الفنية.
  • دفع الكتاب مهاراتي التحليلية وحل المشكلات بتمارينه.

ما الذي يمكنني استخدامه في الحياه الحقيقيه؟

ساعدتني المناقشة الكاملة حول العودية في الكتاب بشكل كبير على كتابتها بسهولة. إنه موضوع لطالما ناضلت معه قليلاً. الآن أصبح من السهل المرور بأي مشكلة أريد حلها بالتكرار.

graph pomodoro done overtime programming part ما الصعوبات التي واجهتها؟

هذا الكتاب ليس لكره الرياضيات. تم كتابته لطلاب معهد ماساتشوستس للتكنولوجيا الذين لديهم بالفعل بعض المعرفة الرياضية. بدون هذه المعرفة المسبقة ، يمكن أن تكون التمارين صعبة للغاية ومحبطة في بعض الأحيان.

كان سبب مشكلة أخرى: لقد قضيت الكثير من الوقت في التمارين. يمكنني حل معظمها ولكن الأمر استغرق مني ساعات في بعض الحالات.

قررت من هناك أنني لن أقضي أكثر من 30 دقيقة في التمارين للحفاظ على الإحباط منخفضًا دون التخلص من فائدة كبيرة من القيام بها.

ثانيا. الرياضيات المتقطعة (50 ساعة)

    بومودورو (25 دقيقة) تتم أسبوعيًا للرياضيات المنفصلة

    كلما كنت أقرأ SICP ، كلما وجدت التمارين صعبة أكثر ، خاصة أنها كانت تتعامل مع بعض المفاهيم الرياضية التي لم أكن على دراية بها. لذلك قررت المضي قدما والبدء بدراسة الرياضيات موضوع.

    المصدر الرئيسي: الرياضيات المتقطعة وتطبيقاتها

    علم نفسك علوم الكمبيوتر تنصحك بقراءة ملاحظات المحاضرة التي كتبها László Lovász ، وهي متاحة مجانًا هنا كوثيقة ps . قمت بتحويله إلى PDF هنا

    لأولئك الذين لا يعرفون ما هو مستند ps. لم أكن أعرف أيضًا.

    ومع ذلك ، فقد اخترت موردًا رئيسيًا آخر للدراسة ، ويبدو أنه أكثر ودية للمبتدئين: الرياضيات المتقطعة وتطبيقاتها بقلم كينيث إتش روزين. إنه كتاب كبير جدًا ، وغير مكلف تمامًا في طبعاته السابقة.

    في 50 ساعة تمكنت من إنهاء الفصل الأول (المنطق الافتراضي) وتحقيق 54 تمرينًا.

    المصدر التكميلي: MIT 6.042J الرياضيات لعلوم الكمبيوتر ، خريف 2010

    هذه الفيديوهات من معهد ماساتشوستس للتكنولوجيا هي دورات أكثر تقدمًا حول الرياضيات المتقطعة. مرة أخرى ، يفترضون أنك تعرف القليل في الرياضيات. ومع ذلك ، فهي ممتعة للغاية على الرغم من أنني واجهت صعوبات في متابعتها.

    في أسوأ الحالات ، سوف تعطيك على الأقل لمحة جيدة عن ماهية الرياضيات المتقطعة.

    أحد المعلمين (توم لايتون) يتمتع بمهارات تدريس أفضل من غيره. ومع ذلك ، فإنهم جميعًا لديهم معرفة عميقة جدًا بموضوعاتهم.

    graph pomodoro done overtime programming part

    ما تعلمته حتى الآن

    • علمني الكتاب أساسيات المنطق ، وهي مهارة جيدة جدًا أن أمتلكها كمطور. بعد كل شيء ، يقوم عملنا على المنطق الصحيح.
    • المنطق الإقتراضي مع المحددات الكمية وقاعدة الاستدلال. إنها في الأساس طريقة لكتابة العبارات المنطقية ، والتحقق من أن العبارات المنطقية منطقية وإثبات قيمها الحقيقية.
    • أساسيات المجموعات ونظرية الرسم البياني ، بفضل مقاطع الفيديو. إنه ممتع للغاية ومفيد جدًا للعديد من الأشياء: أجهزة الدولة والشبكات ...

    ما الذي يمكنني استخدامه في الحياة الواقعية؟

    • يمكن أن تكون جداول الحقيقة مفيدة جدًا لفرز العبارات الشرطية المعقدة أو لإعادة تشكيلها.
    • مؤخرًا يمكنني تطبيق قوانين DeMorgan لتحسين قابلية قراءة بعض العبارات الشرطية.
    • يمكن للتعبير عن المواصفات المربكة والمختصرة مع المسندات والاقتران والانفصال (لغة المنطق الافتراضي) إظهار التناقضات والتفاصيل المفقودة. يمكنه تلخيص المواصفات المعقدة للغاية بدقة. يمكن أن يكون جسرًا جيدًا بين المواصفات والكود نفسه.

    graph pomodoro done overtime programming part ما الصعوبات التي واجهتها؟

    • فهم كيفية الكتابة دليل رياضي صعب ، خاصة عندما لا يستطيع أحد مساعدتك أو تصحيح برهانك.
    • ما زلت أفتقر إلى بعض الأساسيات في الرياضيات ، خاصة اللازمة لمقاطع الفيديو من معهد ماساتشوستس للتكنولوجيا.

    ثالثا. العودة الى اساسيات الرياضيات (11 ساعة و 15)

    بومودورو (25 دقيقة) تتم أسبوعيًا لأساسيات الرياضيات

    بعد أن واجهت بعض المشاكل (الثانوية) الأخرى مع معرفتي بالرياضيات في الرياضيات المتقطعة ، قررت العودة إلى الأساسيات.

    سبب مهم آخر وجّه خياري: لقد استمتعت حقًا ببعض الرياضيات. بدون ذلك ، لم أكن لأستمر في دراسة علوم الكمبيوتر.

    لا تخلط: الرياضيات المتعلقة بعلوم الكمبيوتر تختلف عن تلك التي درستها (وربما تكرهها) في المدرسة . أنصحك بتجربتها.

    في تلك المرحلة قررت التناوب بين دراسة الرياضيات المتقطعة وأساسيات الرياضيات.

    المورد الرئيسي: كيف تتعلم الحساب الأساسي بسرعة

هذا الفيديو لمدة 4 ساعات جيد حقًا قم بتحديث الكثير من الأشياء ، من المجاميع والمنتج إلى النسب المئوية ، الأسس ، اللوغاريتمات ... إنها تغطي الكثير من الأرض بسرعة كبيرة مع الكثير من التمارين.

النصائح المقدمة جيدة جدًا وكذلك لفهم وحل المشكلات الأساسية بسرعة.

يمكنك أن ترى على موقع youtube

معاينة لمدة ساعة

من الفيديو. إذا أعجبك ذلك ، يمكنك

قم بشرائه على Vimeo .

ما تعلمته حتى الآن

  • تحسنت مهاراتي في الحساب الذهني جيدًا. إذا كنت تواجه صعوبات في حساب النسب المئوية بسرعة أو حتى إجراء عمليات ضرب بسيطة بدون آلة حاسبة ، فستساعدك هذه الدورة كثيرًا.
  • أساسيات لمعالجة الكسور ، الأس ، التربيع الجذور واللوغاريتمات وما إلى ذلك.

ما الذي يمكنني استخدامه في الحياة الواقعية؟

  • يكون قادرا الحساب الذهني مفيد جدًا لكثير من الأشياء في الحياة الواقعية. حساب العروض الترويجية بسرعة ، تقريبًا كم ستكون تكلفة عربة التسوق الكاملة ...
  • يمكنني تطبيق كل هذه المعرفة أثناء دراسة علوم الكمبيوتر.
  • )

ما الصعوبات التي واجهتها؟

بعد دراسة SICP والرياضيات المنفصلة ، كان من المريح جدًا فهم كل شيء في النهاية بقليل من العمل. لم أجد الكثير من الصعوبات.

نصيحتي للمبتدئين في علوم الكمبيوتر

إذا كان بإمكاني العودة إلى بداية هذه المغامرة ، لكنت قد درست الموضوعات المختلفة بهذا الترتيب:

  • أنا. أساسيات الرياضيات
  • II. الرياضيات المتقطعة
  • III. SICP

كنت سأدرس الأساسيات والرياضيات المتقطعة بالتوازي ثم انتقلت إلى SICP ، في محاولة للحصول على المعرفة الرياضية التي ما زلت ضاع على طول الطريق.

تعلم علوم الكمبيوتر: ماذا بعد؟

سأستمر في تعلم أساسيات الرياضيات والرياضيات المتقطعة لمدة 150 ساعة على الأقل:

  • القليل الذي أعرفه عن ذلك ساعدني كثيرًا في حياتي اليومية كمطور.
  • أشعر (وأقرأ) أنه أساس لكل مجال آخر في علوم الكمبيوتر.
  • أنا أستمتع بدراسته! مرة أخرى ، من العناصر الأساسية أن تظل متحمسًا.

باختصار: تجربة جيدة جدًا ، تكمن وراء العديد من نقاط ضعفي ولكن مثل حسنًا ، علمتني الأساسيات القوية التي كنت أفتقدها.

ضع في اعتبارك: إذا كنت تتوقع أن تصبح مبرمجًا فائقًا من خلال دراسة علوم الكمبيوتر ، فقد تشعر بخيبة أمل. من الصعب دراسة علوم الكمبيوتر. لها جوانب نظرية قوية وحتى لو وجدت بالفعل بعض الاستخدام لها في عملي اليومي ، فهي ليست مثيرة للعقل على الإطلاق.

خوض هذه الرحلة يتطلب العمل والصبر و تفان. إن وجود أهداف واضحة وخطة دراسية محددة والاستمتاع بالعملية إلزامية.

كتب هذا المقال ماتيو سنيود وتم نشره في الأصل على

The Valuable Dev ، وهي مدونة تركز على المفاهيم الهامة والخالدة في تطوير البرمجيات. يمكنك قراءة القطعة هنا.

تم النشر في 1 أكتوبر 2020 – 12:46 بالتوقيت العالمي

٪٪ item_read_more_button ٪٪

ترك الرد

من فضلك ادخل تعليقك
من فضلك ادخل اسمك هنا