Overview
يمكنك الاعتماد على المهارات الهندسية للبرامج التي تعلمتها في "برمجة Java: حل المشكلات باستخدام البرامج" من خلال تعلم بني بيانات جديدة. استخدم بني البيانات هذه لإنشاء برامج أكثر تعقيدًا تستخدم خصائص Java الموجهة للكائن. في نهاية الدورة التدريبي، سيكون بإمكانك كتابة برنامج تشفير وبرنامج لكسر خوارزمية التشفير الخاصة بك.
بعد الانتهاء من هذه الدورة التدريبي، سيكون بإمكانك:
1. قراءة البيانات وكتابتها من/إلى الملفات؛
2. حل المشكلات المتعلقة بملفات البيانات؛
3. إجراء تحليلات كمية للبيانات (على سبيل المثال، إيجاد الحدود القصوى والحدود الدنيا والمعدلات المتوسطة)؛
4. تخزين البيانات ومعالجتها في مصفوفة أو Arraylist؛
5. الجمع بين فئات متعددة لحل مشكلات أكبر؛
6. استخدام العناصر التكرارية والمجموعات (بما في ذلك الخرائط) في Java.
Syllabus
- مرحبًا
- مرحبًا بك في برمجة Java: المصفوفات، والقوائم، والبيانات المصنفة! يسعدنا انضمامك لدورتنا التدريبية لتتعلم كيفية كتابة البرامج بلغة Java، وهي إحدى لغات البرمجة الأكثر شيوعًا في العالم. في هذه الوحدة التمهيدية، سوف تستمع إلى نظرة عامة على هذه الدورة التدريبية وستتعرف على الموارد الداعمة المتاحة.
- التشفير: الحفاظ على سرية المعلومات
- في هذه الوحدة، ستتعرف على أساسيات التشفير وعلم الحفاظ على خصوصية المعلومات وأمانها. ستتعلم المزيد عن أنظمة التشفير الأبسط، والتي تم استخدامها من الإمبراطورية الرومانية وحتى أوائل القرن العشرين. ستتعلم كيفية تنفيذ هذه الشفرات، وكذلك كيفية كسرها. لحل هذه المشكلات، ستتعامل بصورة أكبر مع معالجة السلاسل، ولكنك ستتعرف أيضًا على المصفوفات—وهي أسلوب لتخزين تسلسل العناصر القابلة للفهرسة. ستكون قادرًا على: (1) دمج السلاسل باستخدام التسلسل؛ (2) بناء سلاسل داخل برنامج Java باستخدام StringBuilder؛ (3) استخدام المصفوفات لتخزين مجموعات البيانات ومعالجتها؛ (4) إعادة بناء برامجك لتحسين التنظيم باستخدام المبادئ الموجهة للكائنات؛ (5) ممارسة تصميم الخوارزمية الفعال.
- GladLibs: قصص من القوالب
- بعد الانتهاء من هذه الوحدة، ستتمكن من (1) برمجة عداد تكرار الكلمات لتحليل أي ملف نصي مدخل، (2) تحديد كلمات من قائمة واستبدالها في قالب مستند باستخدام كل من ArrayList وHashMap، (3) إنشاء قوائم جديدة لاستخدامها في القوالب، (4) التعرف على التعليمات البرمجية الهشة، بالإضافة إلى (5) تحسين التعليمات البرمجية باستخدام تصميم مرن موجه للكائنات. ستكتسب هذه المهارات في إطار تطوير قصة عشوائية والتي نسميها GladLibs. قد تكتشف أن الأسود الصلعاء تغير حياة الناس، أو أن الديناصورات ذات الريش تنجز الأشياء في لمح البصر. ونأمل بأن تستمتع بتطوير مهارات Java الخاصة بك هذا الأسبوع!
- سجلات خادم الويب: من السجلات إلى الزيارات
- في هذه الوحدة، ستتعرف على كيفية قيام سجلات خادم الويب بتخزين المعلومات حول زوار موقع الويب، وستكتب برامج للوصول إلى معلومات مثل عنوان IP للمستخدم وتاريخ الوصول ووقته وغير ذلك. باستخدام برامج Java التي تكتبها في هذه الوحدة، ستتمكن من (1) قراءة المعلومات من سجل خادم الويب و(2) حساب عدد الزوار المميزين لموقع الويب الخاص بك، و(3) حساب عدد المرات التي يستخدم فيها الزائر موقع الويب الخاص بك.
- مشروع صغير: شفرة فجنير
- في هذه الوحدة، ستقوم بتطوير برنامج لفك شفرة فجنير، وهو إصدار أكثر تعقيدًا من شفرة قيصر. ستعمل على تحسين برنامجك في ثلاث مراحل: أولًا فك تشفير الرسائل حيث تعرف اللغة وطول المفتاح، ثم إضافة القدرة على معالجة الرسائل التي يكون طول المفتاح فيها غير معروف، ثم توسيع البرنامج لمعالجة الرسائل في مجموعة من اللغات المحتملة. ومن خلال هذا المشروع، ستكون قادرًا على (1) استخدام HashSet وHashMap بشكل فعال، (2) توسيع إحدى الخوارزميات من خلال حل مشكلة أبسط للتعامل مع مشاكل أوسع وأكثر تعقيدًا، و(3) تصميم التعليمات البرمجية وتعديلها للبرنامج الذي يتضمن مجموعة أكثر تعقيدًا من الفئات والطرق والبيانات.
Taught by
Andrew D. Hilton, Robert Duvall, Owen Astrachan and Susan H. Rodger