استكشاف خريطة الحاسوب-الرصيف ، وهو دليل شامل مصمم لبناء فهم قوي لعلوم الكمبيوتر. من أساسيات البرمجة إلى مفاهيم متقدمة مثل هياكل البيانات وأنظمة التشغيل ، توفر خريطة الطريق هذه مسارًا تعليميًا منظمًا مع موارد الفيديو الموصى بها ، والتمارين العملية ، والمشاريع الملهمة. مثالي للمبتدئين والذين يهدفون إلى تعميق معرفتهم ، يعد هذا المستودع بمثابة مورد لا يقدر بثمن للمهنيين الطموحين في علوم الكمبيوتر والمجالات ذات الصلة.
أثناء صياغة خارطة الطريق هذه ، كان تركيزي الأساسي على مقاطع فيديو YouTube باعتبارها الموارد التعليمية الرئيسية لتسهيل مسار التعلم الأسهل. ومع ذلك ، من الضروري أن نلاحظ أن المتعلمين لا يقتصرون على هذه الموارد وحدهم. علوم الكمبيوتر هي مجال واسع ، وفي خارطة الطريق هذه ، حاولت تغليف اتساعها. لذلك ، الغوص في رحلة التعلم والتمتع به!؟
بيثون للمبتدئين - تعلم بيثون في ساعة واحدة
تعلم Python - دورة كاملة للمبتدئين [البرنامج التعليمي]
المبتدئين Python برمجة الكل في واحد سلسلة تعليمية (6 ساعات!)
الممارسات
مرحبًا العالم: اكتب برنامجًا يطبع "مرحبًا ، العالم!" إلى وحدة التحكم
إضافة رقمين: قم بإنشاء برنامج يضيف رقمين أدخله المستخدم ويعرض النتيجة
مساحة المستطيل: قم بإنشاء برنامج يحسب ويعرض مساحة المستطيل بناءً على الطول والعرض المقدم من المستخدم.
Celsius to Fahrenheit: إنشاء برنامج يحول درجة حرارة في Celsius إلى Fahrenheit. يجب أن يتلقى البرنامج درجة الحرارة في Celsius كمدخلات من المستخدم ، وإجراء التحويل ، وعرض النتيجة مع مكانين عشريين.
مبادلة رقمين: قم بإنشاء برنامج يتبادل رقمين دون استخدام متغير ثالث. يُطلب من المستخدم إدخال رقمين ، ويجب على البرنامج تبادل قيمه ، مما يضمن تبديل القيم الأصلية وعكس الأرقام بشكل فعال.
المنطقة المظللة: احسب مساحة المنطقة المظللة في مربع مع دائرة منقوشة. بالنظر إلى دائرة نصف قطرها (ص) من الدائرة المنقوشة ، ابحث عن مساحة المربع ناقص منطقة الدائرة. قدم النتيجة مع مكانين عشريين لتمثيل منطقة المنطقة المظللة بدقة 
تسجيل معلومات المستخدم: قم بتطوير برنامج يقوم بجمع ويسجل معلومات المستخدم ، بما في ذلك الاسم الأول ، الاسم الأخير ، العمر ، الجنس ، حالة الطالب ، الارتفاع بالأمتار ، والوزن بالكيلوغرامات.
مثلث صالح: قم بإنشاء برنامج يحدد ما إذا كان من الممكن تشكيل مثلث صالح باستخدام ثلاث عصي بأطوال معينة A و B و C. يجب أن يأخذ البرنامج أطوال العصي كمدخلات من المستخدم والتحقق مما إذا كان يرضي عدم المساواة في المثلث ، حيث يجب أن يكون مجموع أطوال أي عصا أكبر من طول العصا الثالثة. عرض النتيجة لأنه "يمكن تشكيل المثلث" إذا تم استيفاء الحالة ، أو "لا يمكن تشكيل المثلث" إذا لم يكن كذلك.
تصنيف الصف: قم بتطوير برنامج يتلقى درجة رقمية كمدخلات من المستخدم (ضمن نطاق 0-100) وتصنيف الصف إلى فئة درجة حروف محددة مسبقًا. يجب أن يستخدم البرنامج عبارات IF-ELSE لتحديد درجة الحروف المناسبة بناءً على نطاقات الدرجات النموذجية (على سبيل المثال ، "A" للصفوف بين 90-100 ، "B" للصفوف بين 80-89 ، وما إلى ذلك). بعد التصنيف ، عرض درجة الحروف المحسوبة للمستخدم.
عرض العلامات النجمية في صف واحد: قم بإنشاء برنامج يأخذ قيمة عدد صحيح ، W ، كمدخلات ويعرض حرف العلامة النجمية (*) في صف واحد. يجب أن يستخدم البرنامج قيمة W لتحديد عدد العلامات النجمية التي يجب عرضها على التوالي على التوالي. تأكد من أن W ضمن نطاق 0 <W <80. إذا دخل المستخدم W = 5 ، فسيتم عرض البرنامج: ****
عرض العلامات النجمية في مستطيل: قم بتطوير برنامج يأخذ قيمتين صحيحتين ، W و H ، كمدخلات ويعرض ترتيبًا لأحرف النجمة (*) بتنسيق مستطيل مع أعمدة W وصفوف H. يجب أن يستخدم البرنامج قيم W و H لتحديد أبعاد المستطيل وملء النجمة وفقًا لذلك. تأكد من أن W ضمن نطاق 0 <W <80 و H في نطاق 0 <H <24.
إذا دخل المستخدم W = 4 و H = 3 ، فسيتم عرض البرنامج:
****
****
****
نمط المثلث الأيمن: قم بإنشاء برنامج يعرض نمط مثلث بزاوية يمين مع ارتفاع معين (H).
إذا دخل المستخدم H = 4 ، فسيتم عرض البرنامج:
*
**
***
****
نمط المثلث الأيمن (مقلوب): قم بتطوير برنامج لعرض نمط مثلث مقلوب الأيمن مع ارتفاع معين (H).
إذا دخل المستخدم H = 4 ، فسيتم عرض البرنامج:
****
***
**
*
نمط الهرم: قم بإنشاء برنامج يعرض نمط هرم مع ارتفاع معين (H).
إذا دخل المستخدم H = 4 ، فسيتم عرض البرنامج:
*
***
*****
*******
نمط المثلث المجوف: قم بتطوير برنامج لطباعة نمط مثلث مجوف مع ارتفاع معين (H) ، مثل هذا:
إذا دخل المستخدم H = 5 ، فسيتم عرض البرنامج:
*
**
* *
* *
*****
نمط مثلث الرقم: اكتب برنامجًا ينشئ نمطًا مثلث الأرقام مع ارتفاع معين (ح) ، على سبيل المثال:
إذا دخل المستخدم H = 4 ، فسيتم عرض البرنامج:
1
12
123
1234
مثلث Pascal: قم بإنشاء برنامج لإنشاء وعرض أول صفوف "H" من مثلث Pascal ، نمط رياضي:
إذا دخل المستخدم H = 4 ، فسيتم عرض البرنامج:
1
1 1
1 2 1
1 3 3 1
مثلث فلويد: قم بتطوير برنامج لطباعة مثلث فلويد مع صفوف 'H' ، حيث يحتوي كل صف على أرقام متتالية:
إذا دخل المستخدم H = 4 ، فسيتم عرض البرنامج:
1
2 3
4 5 6
7 8 9 10
نمط الماس: قم بإنشاء برنامج يعرض نمط الماس باستخدام العلامات النجمية (*) مع ارتفاع معين (H) ، مثل هذا:
إذا دخل المستخدم H = 3 ، فسيتم عرض البرنامج:
*
***
*****
***
*
نمط الساعة الرملية: اكتب برنامجًا يطبع نمط ساعة الرملية مع ارتفاع معين (H) ، على سبيل المثال:
إذا دخل المستخدم H = 3 ، فسيتم عرض البرنامج:
*****
***
*
*
***
*****
FizzBuzz: اكتب برنامجًا يتكرر من خلال سلسلة من الأرقام (عادة من 1 إلى N) ويقوم بإجراءات كل رقم:
البحث عن أيام الأسبوع: قم بتطوير برنامج يحدد يوم الأسبوع من تاريخ معين بتنسيق "DD/MM/Yyyy". يجب أن يأخذ البرنامج موعدًا كمدخلات ، بما في ذلك اليوم والشهر والسنة ، وحساب يوم الأسبوع المقابل. يجب أن تفسر سنوات القفزات وتوفر اسم يوم الأسبوع (على سبيل المثال ، "الاثنين ،" "الثلاثاء") للتاريخ المقدم.
لنفترض أن المستخدم يدخل التاريخ على النحو التالي: 15/11/2023.
يجب أن يحسب البرنامج أن 15 نوفمبر 2023 ، هو يوم الأربعاء ويقدم النتيجة على أنها:
The weekday for 15/11/2023 is Wednesday.
وظائف الآلة الحاسبة : قم بإنشاء برنامج حاسبة بسيط يؤدي العمليات الحسابية الأساسية (الإضافة ، الطرح ، الضرب ، والقسمة). قم بتنظيم الكود عن طريق إنشاء وظائف منفصلة لكل عملية (على سبيل المثال ، إضافة ، طرح ، مضاعفة ، قسمة). استدعاء هذه الوظائف لإجراء الحسابات بناءً على إدخال المستخدم.
وظائف قائمة المهام : قم بإنشاء تطبيق قائمة مهام يتيح للمستخدمين إضافة المهام وعرضها وتمييزها على النحو المكتمل. تنفيذ وظائف لإضافة المهام ، وعرض القائمة ، وتمييز المهام كما حدث. الاستفادة من الوظائف للحفاظ على الكود منظم وقابل للتمديد بسهولة.
الحد الأقصى للرقم في صفيف : اكتب برنامجًا يجد ويعرض الحد الأقصى للرقم في مجموعة من الأعداد الصحيحة. قم بتنفيذ خوارزمية للتكرار من خلال الصفيف وتتبع القيمة القصوى الموجودة.
انعكاس السلسلة : قم بإنشاء برنامج يأخذ سلسلة كمدخلات ويعكس الأحرف في السلسلة. تطوير خوارزمية لإعادة ترتيب الأحرف بترتيب عكسي ، وإنتاج السلسلة العكسية.
فرز البيانات : قم بتنفيذ خوارزمية الفرز لترتيب قائمة من الأعداد الصحيحة بالترتيب الصاعد. قم بتطوير برنامج يطبق الفرز الصاعد على البيانات المحددة ويعرض النتيجة المرتبة.
العثور على الحد الأدنى للرقم في صفيف : اكتب برنامجًا يجد ويعرض الحد الأدنى للرقم في مجموعة من الأعداد الصحيحة.
String Palindrome Checker : قم بإنشاء برنامج يتحقق مما إذا كانت سلسلة معينة عبارة عن palindrome (تقرأ نفس الأمام والخلف). قم بتطوير خوارزمية تقارن أحرف السلسلة من كلا الطرفين لتحديد ما إذا كانت palindrome.
حساب الأحداث في صفيف : تطوير برنامج يحسب حوادث عنصر معين في صفيف. قم بتنفيذ خوارزمية تتكرر من خلال الصفيف وتتبع عدد المرات التي يظهر فيها العنصر.
إيجاد متوسط (متوسط) صفيف: اكتب برنامجًا يحسب ويعرض متوسط (متوسط) مجموعة من الأرقام. قم بتطوير خوارزمية لتلخيص العناصر الموجودة في الصفيف وتقسيمها على عدد العناصر للعثور على الوسط.
البحث عن عنصر في صفيف: قم بإنشاء برنامج يبحث عن عنصر معين في صفيف وإرجاع فهرسه إذا تم العثور عليه. قم بتنفيذ خوارزمية تتكرر من خلال الصفيف لتحديد موقع العنصر المطلوب.
عد الكلمات في سلسلة : اكتب برنامجًا يحسب عدد الكلمات في سلسلة معينة. تطوير خوارزمية تحدد حدود الكلمات ويحسب الكلمات في السلسلة.
حساب الموظفين: قم بتنفيذ برنامج يحسب عامل عدد صحيح معين (على سبيل المثال ، 5! = 5 * 4 * 3 * 2 * 1). تطوير خوارزمية لإجراء حساب العازلة.
الجذر التربيعي: قم بتطوير وظيفة تحسب الجذر التربيعي لعدد إيجابي "N" مع مستوى محدد من الدقة "P". يجب أن تستخدم الوظيفة طريقة البحث الثنائية لتقريب الجذر التربيعي إلى الأماكن العشرية "P".
ابحث عن الحد الأدنى للرقم . الرابط: https://www.hackerrank.com/contests/w30/challenges/find-the-minimum-number/problem
لعبة التخمين: قم بإنشاء لعبة تخمين حيث يتعين على المستخدم تخمين رقم تم إنشاؤه عشوائيًا.
Prime أو لا ينفذ برنامجًا يتحقق مما إذا كان رقم معين هو أولي أم لا.
أضف مصفوفين من نفس الحجم: قم بإنشاء برنامج يضيف مصفوفين من نفس الحجم. يجب على المستخدم إدخال الأبعاد (الصفوف والأعمدة) من المصفوفات ومن ثم توفير القيم لكل عنصر في كلا المصفوفات. يجب أن يتحقق برنامجك من أن المصفوفات لها نفس الأبعاد للإضافة وعرض المصفوفة الناتجة.
اضرب مصفوفتان: قم بإنشاء برنامج يضاعف مصفوفتين. يجب على المستخدم إدخال الأبعاد (الصفوف والأعمدة) لكلا المصفوفات وتوفير القيم لكل عنصر في كلا المصفوفات. يجب أن يتحقق برنامجك من أن المصفوفات لها أبعاد متوافقة للضرب وعرض المصفوفة الناتجة.
المشاريع
بناء لعبة التعلم الحسابية التفاعلية لأطفال المدارس
لعبة الأفعى القائمة على وحدة التحكم
كيف أدرس هياكل البيانات والخوارزميات (كما تعلم الذات)
شرح الخوارزميات للمبتدئين - كيف أتمنى لو تعلمت
هياكل البيانات والخوارزميات في 15 دقيقة
هياكل البيانات من السهل إلى المتقدم - البرنامج التعليمي الكامل من مهندس Google
الممارسات :
Input:
nums = [8, 7, 2, 5, 3, 1]
target = 10
Output:
Pair found (8, 2)
or
Pair found (7, 3)
Input:
nums = [5, 2, 6, 8, 1, 9]
target = 12
Output: Pair not found

المشاريع :
HashTable التي تدعم العمليات الأساسية التالية:insert ): قم بتنفيذ طريقة لإدراج زوج القيمة الرئيسية في جدول التجزئة. في حالة وجود المفتاح بالفعل ، قم بتحديث القيمة المقابلة.get ): قم بتنفيذ طريقة لاسترداد القيمة المرتبطة بمفتاح معين. إذا لم يتم العثور على المفتاح ، فقم بإرجاع قيمة مخصصة تشير إلى الغياب (على سبيل المثال ، None أو null ).delete ): قم بتنفيذ طريقة لحذف زوج القيمة الرئيسية من جدول التجزئة استنادًا إلى المفتاح المقدم.ما هو لينكس؟
ما هو لينكس؟ - شرح لينكس
شرحت أدلة Linux في 100 ثانية
الممارسات :
أفضل 20 أمرًا يجب أن يعرفه كل مستخدم Linux
10 أوامر طرفية Linux للمبتدئين
أوامر الطرفية الأساسية في Linux Ubuntu (برنامج Ubuntu Tutorial للمبتدئين)
الممارسات :
mkdir لإنشاء دليل يسمى "Foo" على سطح المكتب. cd وإنشاء دليل فرعي اسمه "شريط" باستخدام mkdir . mv لإعادة تسمية ملف "path.txt" إلى "pwd.txt" داخل دليل "BAR". mkdir . touch لإنشاء ثلاثة ملفات تسمى "file1.c" و "file2.cpp" و "file3.py". cp لنسخ جميع الملفات من دليل "TMP" إلى دليل "BAR". rm لإزالة دليل "TMP" مع جميع محتوياته. ls مع الخيارات المناسبة لسرد جميع الملفات (بما في ذلك المخفية) في دليل "BAR". أعد توجيه الإخراج إلى ملف جديد يسمى "Report.txt" باستخدام عامل التشغيل > . grep مع خيار r للبحث عن جميع الخطوط التي تحتوي على "Foo" أو "BAR" بشكل متكرر من الدليل المنزلي. wget لتنزيل الملف من عنوان URL المحدد (https://raw.githubusercontent.com/dwyl/english-words/master/words.txt). grep للبحث عن كلمة "John" من الملف الذي تم تنزيله مؤخرًا (Words.txt). اعرض الخطوط التي تحتوي على "جون" جنبا إلى جنب مع أرقام الخطوط المتتالية. باش في 100 ثانية
دورة تحطم البرمجة النصية - مستوى المبتدئين
المشاريع :
قم بإنشاء نص من تاريخ الأوامر مع Echo التقدم:
history.txt (نتيجة مهام الممارسة السابقة) إلى برنامج نصي shell ( script.sh ) مع عبارات echo مضافة لعرض التقدم.history.txt (نتيجة ملف المهام الممارسة السابقة) ومراجعة الأوامر بعناية.script.sh .history.txt إلى script.sh .echo قبل كل أمر لتوفير مؤشرات التقدم البصري.script.sh مع عبارات echo المضافة: #! /bin/bash
# Displaying current progress
echo " Creating 'foo' directory on Desktop... "
mkdir ~ /Desktop/foo
# Displaying current progress
echo " Creating 'bar' directory inside 'foo'... "
cd ~ /Desktop/foo
mkdir bar
# Displaying current progress
echo " Creating 'path.txt' and inserting absolute path... "
echo " $( cd ~ /Desktop/foo/bar && pwd ) " > path.txt
# (Repeat for each command)
# Displaying final progress
echo " Script execution completed! "script.sh إلى مجلد سطح المكتب.script.sh .chmod +x script.sh ../script.sh .echo في تصور تقدم تنفيذ كل أمر. يلتقط لقطات شاشتك
# User input for time interval
Enter the time interval for taking screenshots (in seconds): 60
# Script output during execution
Creating folder: screenshot data
Creating folder: 2022-03-28
Capturing screenshot: Screen Shot 2022-03-28 at 17.48.06.jpg
Capturing screenshot: Screen Shot 2022-03-28 at 17.49.06.jpg
...screenshot.sh .chmod +x screenshot.sh ../screenshot.sh . دورة تحطم Git & Github للمبتدئين
GIT و GITHUB البرنامج التعليمي للمبتدئين
تعليمي GIT للمبتدئين: أساسيات سطر القيادة
git و github للمبتدئين - دورة تحطم
المشاريع:
تثبيت GIT: قم بتثبيت Git على جهاز الكمبيوتر الخاص بك.
تكوين GIT: قم بإعداد اسم مستخدم GIT الخاص بك والبريد الإلكتروني.
إنشاء مستودع محلي:
git initإضافة التغييرات والالتزام: أضف ملفات إلى منطقة التدريج وارتكاب تغييرات في المستودع.
git add .
git commit -m " Initial commit "عرض حالة المستودع: تحقق من حالة المستودع الخاص بك.
git status إنشاء readme.md: إنشاء ملف README.md لمشروعك.
اكتب عن نفسك في readme.md: اكتب عن نفسك
تزيين readme.md: عزز جماليات ملف README.md عن طريق إضافة التنسيق أو الرؤوس أو نقاط الرصاص أو أي عناصر أخرى تعمل على تحسين قابلية القراءة.
التغييرات الالتزام: استخدم GIT لتصوير التغييرات التي تم إجراؤها على ملف README.md وارتكابها.
اكتب رسالة الالتزام ذات مغزى: قدم رسالة ملزمة وصفية وذات مغزى تلخص الغرض من الالتزام.
عرض التاريخ الالتزام: عرض تاريخ الالتزام بمستودعك.
git logإنشاء حساب github:
قم بإنشاء مستودع عن بُعد على Github:
قم بتوصيل المستودع المحلي بـ Github:
git remote add origin < repository_url >
git branch -M main
git push -u origin mainاستنساخ مستودع:
git clone < repository_url >إنشاء فرع:
git branch < branch_name >
git checkout < branch_name >التبديل بين الفروع:
git checkout < branch_name >دمج الفروع:
git checkout < target_branch >
git merge < source_branch >حل النزاعات دمج:
سحب التغييرات من جهاز التحكم عن بُعد:
git pull origin mainدفع التغييرات إلى عن بُعد:
git push origin < branch_name >إنشاء وتطبيق طلبات السحب:
شوكة مستودع:
استنساخ والمساهمة في مستودع متشعب:
git clone < forked_repository_url >
# Make changes
git add .
git commit -m " Description of changes "
git push origin < branch_name >مراجعة ودمج طلبات السحب:
مؤسسة علوم الكمبيوتر خارطة الطريق © 2023 بواسطة Saxamir Botirov مرخصة بموجب CC BY-SA 4.0