مقدمة في أساسيات تحليل الخوارزميات - الجزء الأول
في هذه السلسلة أعرض مقدمة لأساسيات تحليل الخوارزميات مع بعض الأمثلة البسيطة وتصحيح لبعض المفاهيم التي قد تفوت على طلبة علوم الحاسب أثناء دراسة هذا العلم.
#خوارزميون
@PrograminLovers
أهم أنواع المشكلات في علم الخوارزميات
في هذه السلسلة أستعرض بشكل مختصر أهم أنواع المشكلات التي يتم دراستها في علم الخوارزميات:
١-الترتيب (Sorting)
٢-البحث (Searching)
٣-الرسومات (Graphs)
٤- التجميعية (Combinatorial)
٥- الهندسية (Geometric)
#خوارزميون
@PrograminLovers
مقدمة في أساسيات تصميم الخوارزميات – خوارزميات القوة الغاشمة:
في هذه السلسلة أتحدث عن أحد أساليب تصميم الخوارزميات وهو ما يعرف بالقوة الغاشمة (Brute force)
#خوارزميون
@PrograminLovers
مقدمة في أساسيات تصميم الخوارزميات – خوارزميات فرق تسد:
في هذه السلسلة أتحدث بشكل مختصر عن أحد أشهر أساليب تصميم الخوارزميات وهو أسلوب (فرق تسد)
#سلسلة_مصطلحات_برمجية
@PrograminLovers
اللغة عالية المستوى High-Level-Language
لغة البرمجة التي تدعم بناء جمل تشبه اللغة الطبيعة مثل (جافا، سي، بايثون)
لغة الآلة منخفضة المستوى low-level machine language
لغة تتكون من (٠/١) فقط ويمكن للحاسب فهمها وتنفيذها
في هذه السلسلة أتحدث عن منصة (RapidMiner) أحد أدوات علم البيانات وتعليم الآلة
حسب تقرير قارتنر لمنصات علم البيانات وتعليم الآلة لعام ٢٠٢٠ تم تصنيف رابيد ماينر ضمن المنصات التي تمتلك رؤية، بينما تم تصنيفها كأفضل منصة حسب تقييم المستخدمين في قارتنر للمرة الثالثة على التوالي.
#خوارزميون
@PrograminLovers
مقدمة في أساسيات تصميم الخوارزميات – الخوارزميات الجشعة/الطماعة:
تستخدم الخوارزميات الجشعة عادة لحل مشاكل التحسين وهي المشاكل التي تهدف إلى تقليص أو زيادة كمية معينة.
@PrograminLovers
برنامج لتصميم الرسوم المتحركة من خلال المتصفح بطريقة سهلة وسريعة
البرنامج يحتوي ميزة تصميم الرسوم المتحركة على السبورة (Blackboard Animation) استخدمتها لتصميم شرح حذف عنصر من (Linked List)
#سلسلة_مصطلحات_برمجية
@PrograminLovers
دورة تطوير البرنامج program development cycle
1-فهم المشكلة
2-تخطيط المنطق
3-كتابة الكود
4-ترجمة البرنامج إلى لغة الآلة
5-اختبار البرنامج
6-إطلاق البرنامج
7-المحافظة على البرنامج (الصيانة والتطوير)
#خوارزميون
@PrograminLovers
كتاب مجاني مع الكود يلخص الخوارزميات الذكية المستوحاة من علم الأحياء.
الكتاب لا يشرح الخوارزميات ولكن يلخصها ويصنفها ويقدم مثال بسيط لتطبيق كل خوارزمية مع الكود
#خوارزميون
@PrograminLovers
مقدمة في أساسيات تحليل الخوارزميات – الجزء الثاني
في هذه الجزء أستكمل الحديث عن أساسيات تحليل الخوارزميات، من خلال شرح القسمين الرئيسيين لتحليل الخوارزميات وهما:
١- التحليل المقارب
٢- التحليل التجريبي
#خوارزميون
@PrograminLovers
مقدمة في أساسيات تصميم الخوارزميات – البرمجة الديناميكية:
البرمجة/التخطيط الديناميكي هي تقنية لتصميم الخوارزمية ابتكرها عالم الرياضيات الأمريكي ريتشارد بيلمان في الخمسينيات من القرن الماضي كطريقة لتحسين عمليات اتخاذ القرار ذات المراحل المتعددة
Did you ever want to learn more about machine learning in 2021? I'm excited to share the lecture videos and materials from my Applied Machine Learning course at
@Cornell_Tech
! We have 20+ lectures on ML algorithms and how to use them in practice. [1/5]
#السؤالـالبرمجي
@PrograminLovers
@algorithmers
@researcherbadr
سؤال اليوم (٣)
السؤال من أسئلة مقابلات التوظيف لشركة قوقل - مستوى الصعوبة متوسط
فكرة السؤال ببساطة بناء دالتين الدالة الأولى تحول (binary tree) إلى (string) والدالة الثانية تعمل العكس
#ثريد
11 خطأ توقف تقدمك في تعلم البرمجة 🚫
حاول تجنبها لتزيد من تقدمك في تعلم البرمجة والوصول بإذن الله لمراحل متقدمة واحترافية 👌🏻😉
ومن دون مقدمات خلينا نبدأ 😍👇🏻
#Alfulayt
@PrograminLovers
@researcherbadr
كتاب (فكر كمبرمج: مقدمة لحل المشكلات بطريقة إبداعية)
Think Like a Programmer: An Introduction To Creative Problem Solving By V. Anton Spraul
@PrograminLovers
هذي هي أساسيات البرمجة ولا تتطلب دراسة الخوارزميات أو هياكل البيانات أو أي متطلبات أخرى، وهذا هو المنهج المطبق في الجامعات لجميع التخصصات التي تحتاج تعلم البرمجة
Variable
Data Types
Operations
Flow Control
Inputs & Outputs
Procedures & Functions
Object Oriented Programming
#سلسلة_مصطلحات_برمجية
@PrograminLovers
البرنامج Program: هي مجموعة من التعليمات التي تخبر الحاسب بما يجب القيام به مثل (برنامج للبحث في نص)
البرمجة Programming: هي عملية تطوير وكتابة البرامج
البرمجيات Software: تتكون من مجموعة من البرامج للقيام بعمليات معينة مثل (قوقل كروم)
@rh11e0
أعتقد يمكن تقسيم مراحل البرمجة إلى ٤ مراحل:
١ مرحلة التأسيس: تتعلم أساسيات البرمجة مثل
variable, expressions, flow control
تعلم كتابة برامج بسيطة جدا من خلال إعادة كتابة أمثلة محلولة والتعديل على متطلباتها
@PrograminLovers
تدريب على التفكير المنطقي
لو كان لديك مصفوفة مثل الموجودة في الصورة، هل يمكن أن تصف بخطوات بسيطة استراتيجية منطقية لتقسيم عناصر المصفوفة حول العدد الأول بحيث تكون جميع العناصر على اليسار أصغر من هذا العدد وجميع العناصر على اليمين أكبر من هذا العدد
#خوارزميون
@PrograminLovers
هل سمعت بخوارزمية ترتيب النوم (Sleep Sort)؟
الخوارزمية لا تستخدم المقارنة بين عناصر المصفوفة لترتيبها، ولكن تستخدم التنفيذ المتزامن (thread execution) ودالة (sleep)
#سلسلة_مصطلحات_برمجية
المترجم(compiler) والمترجم الفوري(interpreter):
وظيفتهم الأساسية ترجمة أوامر البرنامج إلى كود (يسمى لغة الآلة) يمكن للحاسب تنفيذه
عند استخدام المترجم، تتم ترجمة البرنامج بأكمله قبل تنفيذه
عند استخدام المترجم الفوري، تتم ترجمة كل سطر قبل التنفيذ مباشرة
في علوم الحاسب يدرس الطالب البرمجة وتصميم الويب والرسوميات ولغات البرمجة وقواعد البيانات والشبكات وأنظمة التشغيل والخوارزميات والذكاء الاصطناعي. الغرض من ذلك امتلاك الأساسيات للعمل في المجالات التالية
تطوير تطبيقات الويب والجوال
تصميم الفيديو والجرافكس
تصميم وإدارة قواعد البيانات
استعراض لنظام OutSystems لتطوير التطبيقات باستخدام الكود المنخفض. النظام يتميز بتوفير نواحي الأمان، وسهولة تطوير التطبيقات، وتوفر مصادر التعليم والتدريب، ويوجد طلب على المطورين المتخصصين.
@alosefer
@Ayah_alahlifc
@alosefer
اذا كان ما تم رصده فعليا هو ١٥ حالة فقط، فهذا يدل على فشل هذا النظام، لأن الحالات التي تم تداولها في وسائل التواصل الاجتماعي أكثر من ذلك، والحالات التي يتم رصدها في الاختبارات الاعتيادية أكثر بكثير من هذا العدد
#السؤالـالبرمجي
@PrograminLovers
@algorithmers
@researcherbadr
سؤال اليوم (٢)
السؤال مستوحى من أحد أسئلة مقابلات التوظيف لشركة أوبر - والسؤال يشترط عدم استخدام عملية الطرح والاقتصار على عملية الجمع فقط
مبتدئ في البرمجة وتريد فهم ماذا يحدث أثناء تنفيذ كل سطر في الكود
يساعدك في التغلب على العائق الاساسي في البرمجة وهو فهم ماذا يحدث اثناء التنفيذ
اكتب الكود واضغط على Visualize Execution وشاهد خطوة بخطوة ماذا يحدث
⬇️
@PrograminLovers
#programinglovers
#سلسلة_مصطلحات_برمجية
@PrograminLovers
إدخال البيانات:
تدخل عناصر البيانات إلى الحاسب، وتخزن في الذاكرة، حتى يمكن معالجتها.
تتضمن عناصر البيانات: النصوص، الأرقام، الصور، الأصوات، الفيديو.
تشمل الأجهزة التي تقوم بالإدخال: لوحة المفاتيح، الفأرة، الميكرفون، الكاميرا، لوحة الرسم.
@researcherbadr
أولا إتقان مكونات اللغة ولا تستعجل في محاولة كتابة برامج كاملة
Variables
Expressions
Functions
Conditions
Loops
Arrays
Strings
ثانيا بناء المنطق البرمجي باستخدام الأمثلة والتحديات البرمجية المحلولة والتعديل عليها لخلق مسائل جديدة يسهل حلها
ثالثا تعلم هياكل البيانات والمكتبات
@SegarySaleh
@PrograminLovers
يمكن تلخيص تعلم البرمجة بدراسة المفاهيم:
هيكلية البرنامج (Program Structure)
تعريف المتغيرات (Variable Declaration)
التحكم (Control Structure)
التكرار (Looping Structure)
العمليات (Operations)
هيكلية البيانات (Data Structures)
لكن تعلم هذه المفاهيم يتطلب تطبيق باستخدام لغة برمجة
#سلسلة_مصطلحات_برمجية
@PrograminLovers
ذاكرة المكدس stack memory
يتم استخدام المكدس لتخزين المتغيرات المستخدمة داخل الدوال (functions). وهو هيكل من نوع ما يأتي أخيرًا يخرج أولاً (LIFO).
@PrograminLovers
@researcherbadr
كتاب تعلم من خلال التطبيق: خوارزميات تعلم الآلة للدكتور إياد أبو دوش
محتوى متميز باللغة العربية لتعليم الآلة باستخدام لغة البايثون
نصيحتي لطلبة الحاسب عموما التخصص في مجال أو أكثر من هذه المجالات من خلال الحصول على شهادات احترافية في هذه المجالات والتطبيق ببناء مشاريع حقيقية
الموقع التالي يعرض اهم الشهادات الاحترافية مصنفة حسب الشركات الراعية لها
@Abdualrhman
لتطوير مهارة كتابة الكود أنصح بمتابعة الموقع التالي حيث يتم تقديم أكثر من حل بأكثر من لغة مع مقارنة تعقيد الوقت والمساحة حتى الوصول إلى الحل الأمثل
@PrograminLovers
هناك خلط بين الخوارزميات والبرمجة، ولاحظت أنه يتم شرح أساسيات البرمجة على أنها جزء من الخوارزميات، وهذا يوهم المتعلم بأنه يدرس علم الخوارزميات، ولذلك أحيل المهتمين إلى منهج البرمجة ومنهج الخوارزميات في جامعة (MIT) الأولى عالميا في التقنية بعيدا عن التعصب للآراء الشخصية
يعتقد أن هذا هو أول برنامج في التاريخ كتبته عالمة الرياضيات الإنجليزية (Ada Lovelace) لحساب أرقام برنولي باستخدام الحاسب الميكانيكي الذي صممه عالم الرياضيات الانجليزي (Charles Babbage).
المصدر:
#سلسلة_مصطلحات_برمجية
@PrograminLovers
البرمجة الإجرائية procedural programming
نموذج برمجة يعتمد على مفهوم (procedure calls)، حيث يتم تنظيم خطوات البرنامج على شكل (procedures/functions). يمكن أن يتكون البرنامج من دالة أو أكثر، ويمكن للدالة استدعاء دوال أخرى أو استدعاء نفسها
@PrograminLovers
تعلم البرمجة مثل تعلم قيادة السيارة عبارة عن مهارة تصقل بالممارسة
ولغات البرمجة مثل السيارات بعضها سهل القيادة وبعضها صعب
إذا أتقنت مهارة القيادة على سيارة تستطيع تتقنها على سيارة أخرى
وإذا أتقنت مهارة البرمجة على لغة تستطيع تعلم لغة أخرى
لذلك أنصحك تبدأ بلغة سهلة مثل بايثون
@MAlsuwaie
يمكن تلخيص الفرق بين تعلم الآلة والتعلم العميق في أن خوارزميات تعلم الآلة التقليدية تتطلب مساعدة البشر في تحديد خواص البيانات المفيدة لعملية التعلم، بينما تستطيع خوارزميات التعلم العميق استخلاص خواص البيانات المفيدة والتعلم منها بدون تدخل بشري
@PrograminLovers
توفر لغة بايثون أداة قوية ومفيدة جدا تسمى الديكور(decorator) تسمح للمبرمج بتعديل سلوك الدالة. والفكرة أنه يتم تغليف الدالة داخل دالة أخرى تسمى (wrapper) تقوم بتعديل سلوك الدالة الأصلية دون تعديل كودها فعليا.
Just posted a few days ago, "Introduction to Deep Learning" is the perfect place to start.
Free, 1-hour YouTube video.
Packed with examples,
@random_forests
will let you into the fascinating world of deep learning.
Highly recommended!
@PrograminLovers
@luis_likes_math
الدكتور لويس سيرانو مختص وباحث في الذكاء الصناعي، لديه أسلوب فريد في شرح مبادئ تعلم الآلة عبر قناته على اليوتيوب. هو مؤلف كتاب (Grokking Machine Learning)، ولديه أكاديمية لشرح مفاهيم تعلم الآلة والرياضيات بطرق إبداعية.
#اليوم_العالمي_للمرأة
أتذكر الموقف الخالد لأم المؤمنين خديجة حين واست النبي صلى الله عليه وسلم: (والله ما يخزيك الله أبدا، إنك لتصل الرحم، وتصدق الحديث، وتحمل الكل، وتكسب المعدوم، وتقري الضيف، وتعين على نوائب الحق، وتؤدي الأمانة)
سلام على خديجة أول من آمن بالنبي من العالمين
سعدت بتلقي رسالة من أستاذي البروفسور حبيب يوسف الذي تشرفت بأن أكون أحد طلابه في جامعة الملك فهد. حاليا هو مدير مركز الخوارزمي للحوسبة الذي يشرف على مركز البيانات والشبكة الوطنية التونسية للبحث والتعليم، وشارك في تأليف كتاب متخصص في الخوارزميات الهندسية تم ترجمته إلى اليابانية.
@PrograminLovers
اطلعت على شرح متميز للمختص في البيانات (Selva Prabhakaran) حول البرمجة المتوازية باستخدام بايثون (Python Parallel Processing)، وأعدت صياغة المقال باللغة العربية بهدف إثراء المحتوى العربي في هذا المجال الحيوي، وأتمنى أن يكون مفيدا لكم.
#السؤالـالبرمجي
@PrograminLovers
@algorithmers
@researcherbadr
سؤال اليوم (٧)
السؤال من أسئلة مقابلات التوظيف لشركة Airbnb - مستوى الصعوبة متوسط
فكرة السؤال حساب أكبر مجموع للأعداد غير المتجاورة في مصفوفة
#سلسلة_مصطلحات_برمجية
@PrograminLovers
المؤشر Pointer
متغير يحتوي على عنوان في الذاكرة، وهو نقطة بداية الكائن، مثل عنصر من المصفوفة أو عدد صحيح.
يؤدي استخدام المؤشرات إلى تحسين أداء البرنامج حيث أن نسخ المؤشرات أقل تكلفة من نسخ البيانات التي يشير إليها من حيث الوقت والذاكرة
موقع كنز يوفر ملخصات جاهزة في معظم المجالات
البرمجة
انظمة التشغيل
الحوسبة السحابية
علوم الحاسب
...
تقريبا ملخصات لكل شيء
من مميزات الموقع يمكنك الضغط على method او الموضوع و سيظهر لك شرح
احفظها عندك ستحتاجها 🙏
@PrograminLovers
#programinglovers
@PrograminLovers
البرمجة بشكل عام لا تتطلب الرياضيات
لكن حل مشكلة معينة باستخدام البرمجة قد يتطلب معرفة عميقة في مجال المشكلة، على سبيل المثال:
الأحياء: المعلومات الحيوية
الجبر الخطي: تعلم الآلة، الذكاء الصناعي
التفاضل والتكامل: معالجة الصور
الاحتمالات والإحصاء: علم البيانات، التشفير