(Ahmed Yasser)MY Code
660 subscribers
54 photos
6 videos
25 files
83 links
لو معاك أي سؤال يا صديقي
ابعت أن شاء الله اقدر افيدك
@A_H_M_E_DY_A_S_S_E_R

حساب لنكيد إن
https://www.linkedin.com/in/ahmed-yasser-358536297?utm_source=share_via&utm_content=profile&utm_medium=member_android
Download Telegram
Channel created
Channel photo updated
💻 🔹 بسم الله وعلى نبينا الصلاة والسلام، نبدأ رحلتنا مع الأكواد… هنا تتحول الأحلام إلى أوامر، والخطأ إلى خبرة!
🔹 ما هي البرمجة؟
تخيّل أنك تمتلك القدرة على إخبار الأجهزة بما تفعل خطوة بخطوة، فتُحوِّل أفكارك إلى أوامر تنفّذها الآلات بدقة متناهية! هذا ببساطة هو جوهر البرمجة: فن التحدث مع الآلات.

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

🔸 لغة لا تشبه لغات البشر:
أجهزة الكمبيوتر لا تفهم العربية ولا الإنجليزية، بل تفهم لغة رقمية بحتة: لغة الآلة (مجرد 1 و0). تخيل أنك مطالب بكتابة ملايين الأرقام! هنا يأتي دور لغات البرمجة مثل بايثون وجافا وجافاسكريبت لتكون الوسيط بينك وبين الآلة، تترجم أفكارك إلى تعليمات تفهمها الأجهزة.

🔸 من يترجم الأوامر؟
حتى بعد كتابة الكود بلغة برمجة، يجب أن يُحوَّل إلى لغة الآلة. هنا يظهر دور المترجمات (Compilers) والمفسرات (Interpreters) التي تحوّل كلماتك إلى أرقام تفهمها الآلات.

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

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

🔸 في كل مكان حولك:
من الهواتف الذكية والمنازل المتصلة بالإنترنت، إلى البنوك والمتاجر الإلكترونية وحتى الأفلام التي تبثها عبر الإنترنت… البرمجة هي المحرّك الخفي لعالمنا الحديث.

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

💡 طيب ليه تتعب؟
هنا بيجي الحل الذكي: موقع واحد بس اسمه NotebookLM، يحوّل لك كل كلمة معقدة في الفيديوهات هذي لنص عربي واضح وسهل، عشان ما تفوّت ولا معلومة حتى لو كانت Advanced!

🔍 يعني مع NotebookLM تتابع أشهر قنوات البرمجة الأجنبية وتتعلم منها — بس بلغتك! الفيديو يتحوّل لنص عربي مرتب، تفهمه، ترجع له وقت ما تحب، وتراجع كل جزئية وانت مطمئن إنك ماسك المعلومة من أعمق مصادرها.

🚀 NotebookLM يحوّل المحتوى العالمي إلى معلومة عربية توصلك بسهولة.
لنك فديو
شرح الموقع
https://youtu.be/YTfhgzDZZ0w?si=NvZGGLCECqqXzUVb
📖 — نرجع نكمل — 📖
🔑🔑🔑 أساسيات أساسيات أساسيات!
تخيّل أنك تبني ناطحة سحاب... هل تقدر ترفعها للسماء بدون أساس قوي تحتها؟ نفس الشيء بالبرمجة: الأساسيات هي القاعدة التي يرتكز عليها كل شيء! بدونها، أي تقنية تتعلمها ستنهار أمام أول تحدٍّ حقيقي.

فما هي هذه الأساسيات؟
هي أربع مراحل تصنع منك مطوّرًا قويًا، وتجهّزك لأي تخصص أو مسار وظيفي في عالم البرمجة.


---

🚀 المستوى الأول: البرمجة، البرمجة الكائنية، وهياكل البيانات (6-12 شهر)

هذه المرحلة مثل صب الخرسانة في الأساس، صعبة أحيانًا لكنها ضرورية!
هنا تبدأ بتعلّم لغة برمجة قوية (مثل Rust أو C++ أو Java أو Python) وتتقن البرمجة الهيكلية:
أنواع البيانات، المتغيرات، العوامل، الجمل الشرطية، الحلقات، الدوال، الهياكل.

بعدها تنتقل للفهم الأعمق: البرمجة الكائنية OOP:
الوراثة، التغليف، التجريد، التعددية.

ولا تنسَ الذراع الأيمن لأي مبرمج: هياكل البيانات والخوارزميات:

🧵 الخطية: المصفوفات، القوائم المرتبطة، المكدسات، الطوابير.

🌳 غير الخطية: الأشجار (خصوصًا BST)، الجداول الهاش، الرسوم البيانية.

🔍 البحث: ثنائي وخطي.

🔄 الترتيب: فقاعة، سريع، دمج.

🔗 تتبع الرسم البياني: BFS و DFS.

🧩 تقنيات مهمة: التراجع، البرمجة الديناميكية، الخوارزميات الجشعة.


💡 التطبيق العملي: حل مشاكل على LeetCode أو HackerRank (على الأقل 50 سهلة، و15 متوسطة).
ثم اربط كل شيء بمشروع تطبيقي: نظام إدارة مدرسة أو لعبة كلاسيكية مثل Snake أو Pong. هنا ستشعر بقوة الأساسيات حقًا!


---

📚 المستوى الثاني: مبادئ علوم الحاسوب الأساسية

بعد ما تثبّت الأساسيات البرمجية، ادخل أعمق:

نظم التشغيل

قواعد البيانات

الشبكات

هندسة البرمجيات (مثل المنهجيات الرشيقة Agile)


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


---

🎯 المستوى الثالث: أساسيات المسار أو المجال

بعد أن تعرف ما الذي يجذبك (ويب؟ موبايل؟ ألعاب؟)، ابدأ بفهم المبادئ الأساسية لهذا المجال. خذ كورسات مكثّفة واكتشف الصورة الكبيرة.


---

🛠️ المستوى الرابع: التكنولوجيا والتخصص

الآن حان وقت اختيار الأدوات: إطار عمل أو تقنية محددة (مثل .NET، Flutter، Node.js). اختر بناءً على شغفك ومجال تخصصك، لا بناءً على موضة عابرة.


---

🚪 دخول سوق العمل

🔑 محفظة قوية تعرض مشاريعك.
🔑 خبرة عملية من مشاريعك أو تدريبك.
🔑 تدرب على المقابلات وأثبت فهمك العملي.
🔑 تعلّم باستمرار وابقَ فضوليًا
قنوات برمجة أن شاء الله يكون فيها إيفادة
Forwarded from Dr Mostafa Saad Ibrahim (Mostafa Saad Ibrahim)
تنظيم لكل اسهاماتي

سلاسل اليوتيوب: https://t.me/mostvision/1177
وتشمل نصائح عامة وخوطر في الدين والدنيا وكورسات برمجة سي بلس وكم غفير من محتوى مسابقات البرمجة

كورسات يودمي بالانجليزية: https://t.me/mostvision/1178
7 كورسات مع كوبونات مجانية مشروطة


كورسات لايف بمحتوى شديد التميز: https://t.me/mostvision/1179
برمجة - اواوبي - داتا ستركتشرز - الجوزرمس - ماشين ليرنينج - ديب ليرنينج

قواعد:
- الكورسات اللايف لا مقدم ولا اقساط لها. معاك 12 سنة للدفع
- في حالة السهو او الوفاة - لا قدر الله -وعدم سداد الدين فأنا أسامح لو حرصت على الدفع ولو جزئيا متى تيسر لك بلا ضغوط


للتواصل: mostafa.saad.fci@gmail.com
Forwarded from Dr Mostafa Saad Ibrahim (Mostafa Saad Ibrahim)
الحمد لله وحده

تنظيم لاسهاماتي - كورسات يودمي

كورسات يودمي هيا 7 كورسات بالانجليزية تستهدف الاجانب لكن بفضل الله اكثر من يطلبها المصريين لجودتها العالية مع رخص ثمنها

يمكنك الاستماع للفيديوهات لتقرر هل الانجليزي يناسبك ام لا


ايضا اوفر كوبونات مجانية مشروطة يعود الطالب للدفع خلال 12 سنة حينما يعمل (https://bit.ly/3eXXir5)


الكورسات هنا (https://bit.ly/3lJ2SiL)


هناك سؤال متكرر بخصوص الفروق بين كورس السي بلس يودمي وكورسات اليوتيوب (https://t.me/mostvision/168)

تنويه مهم
https://t.me/mostvision/1250

رسالة مهمة لفهم يودمي https://t.me/mostvision/1269
🚀 لو نفسك تتعلم البرمجة وخصوصًا لغة C++ (السي بلس بلس) 👨‍💻
فأحب أقولك إن فيه مصادر مجانية عظيمة جدًا هتغير رحلتك بالكامل!

📌 أولًا: الكورسات العالمية

🎓 CS50: كورس عالمي ومشهور جدًا من جامعة هارفارد. هيديك الأساسيات بشكل سريع ومختصر، يخليك تفهم الفكرة بس مش هيغوص معاك للآخر.


📌 ثانيًا: الكورسات العربية

🔹 المهندس أسامة الزيرو: شرحه جميل جدًا وممتع، بس في المسار الأساسي مش بيغطي حاجات مهمة زي الـ OOP والـ Data Structure (ودي أساسيات لأي مبرمج). كمان شرحه محتاج تسمعه أكتر من مرة عشان يثبت.

🔹 المهندس محمد الدسوقي: شرحه عظمة وبيخلي المفاهيم سهلة، لكن مشكلته إنه مش بيحب يحل مشاكل كتير أو يطبق عملي بشكل كبير.

🔹 المهندس أبو هدهود: من أفضل المصادر، وفعلاً ينفع يكون المصدر الأساسي لأي حد عاوز يتعلم C++ بجد.

🔹 المهندس مصطفى سيد: لو درست معاه C++ وبعدها سمعت كورس البرمجة التنافسية بتاعه، هتلاقي كمية معلومات رهيبة ترفع مستواك جدًا.

🔹 المهندس أحمد عادل و المهندس عادل النسيم: أسلوبهم مبسط جدًا، وبيخلوك تستوعب بسهولة.


📌 ثالثًا: الدعم اليومي

🤖 صديقك المخلص "تشاب جي بي تي": المعلم اللي مش هيتخلى عنك طول فترة التعلم 💡، أي مشكلة أو فكرة تقف قدامك، هتلاقيه جنبك.



---

الخلاصة:
لو عايز خطة قوية 👇

1. خليك أساسي مع أبو هدهود.


2. سند نفسك بـ محمد الدسوقي و أسامة الزيرو.


3. زوّد قوة بتكملة مصطفى سيد (وخاصة كورس البرمجة التنافسية).


4. وقت الحاجة والتطبيق العملي، عندك تشاب جي بي تي دايمًا.
Some information about iterators:
======================
In every standard container (like vectors & maps), there are 4 different types of iterators, which are "iterator", "const_iterator", "reverse_iterator", and "const_reverse_iterator".

1. iterator: It's used to traverse through the container from the start to the end of the container. It allows you to modify the value of the current element.

2. const_iterator: It's used to traverse through the container from the start to the end of the container, but doesn't allow you to modify the value of the current element (read-only).

3. reverse_iterator: It's used to traverse through the container from the end to the start of the container. It allows you to modify the value of the current element.

4. const_reverse_iterator: It's used to traverse through the container from the end to the start of the container, but doesn't allow you to modify the value of the current element (read-only).
-----------------------------------------
When using iterators in regular for loops to traverse through standard containers (like vectors & maps), there are 8 different methods that return different types of iterators pointing at different parts of the container.

These methods are: begin(), end(), rbegin(), rend(), cbegin(), cend(), crbegin(), crend()

1. begin(): It returns an "iterator" or "const_iterator" object pointing at the first element of the container. It has 2 overloaded versions.

2. end(): It returns an "iterator" or "const_iterator" object pointing at a position after the last element of the container. It doesn't point at any element. It has 2 overloaded versions.

3. rbegin(): It returns a "reverse_iterator" or "const_reverse_iterator" object pointing at the first element from the end of the container. In other words, it points at the last element of the container. It has 2 overloaded versions.

4. rend(): It returns a "reverse_iterator" or "const_reverse_iterator" object pointing at a position before the first element of the container. It doesn't point at any element. It has 2 overloaded versions.

5. cbegin(): It returns only a "const_iterator" object pointing at the first element of the container.

6. cend(): It returns only a "const_iterator" object pointing at a position after the last element of the container. It doesn't point at any element.

7. crbegin(): It returns only a "const_reverse_iterator" object pointing at the first element from the end of the container. In other words, it points at the last element of the container.

8. crend(): It returns only a "const_reverse_iterator" object pointing at a position before the first element of the container. It doesn't point at any element.

The 'r' at the start stands for "reverse", while the 'c' stands for "const".

The images attached explain how to use iterators and these functions to traverse through a vector in a regular for loop.
1