تنبيه
تم تحديث هذه الصفحة بالاعتماد على منهج CS102.
CS102 - Computer Programming II¶
يطوّر مقرر CS102 مهارات البرمجة الكائنية المتوسطة باستخدام Java. يبني المقرر على CS101 ويركّز على تصميم الأصناف، والوراثة، وتعدد الأشكال، والواجهات، ومجموعات Java، والأصناف العامة، والاستدعاء الذاتي، والملفات، والمصفوفات ثنائية البعد، والعمل على مشروع برمجي كائني.
مشروع المقرر
أنشأت ووثقت نظام تسجيل مقررات مرتبطًا بمقرر CS102. يمكن للزائر الاطلاع على المشروع من صفحة المشاريع أو فتحه مباشرة: صفحة المشاريع · موقع المشروع · المستودع
معلومات المقرر¶
| البند | التفاصيل |
|---|---|
| رمز المقرر | CS102 |
| اسم المقرر | Computer Programming II |
| الساعات | 3 ساعات |
| صيغة التواصل | 3 ساعات محاضرة وساعة تطبيق |
| المتطلب السابق | CS101 Computer Programming I |
| الكتاب الأساسي | Y. Daniel Liang, Introduction to Java Programming and Data Structures, Comprehensive Version, Global Edition, 11th ed. |
| دور المقرر | مقرر أساسي مطلوب |
مخرجات التعلم¶
بنهاية مقرر CS102، يفترض أن يكون الطالب قادرًا على:
- معالجة البيانات باستخدام الملفات والمصفوفات ثنائية البعد.
- تمييز مفاهيم البرمجة الكائنية باستخدام الأصناف وتسلسل الأصناف لإعادة استخدام الكود.
- حل مشكلات برمجية باستخدام الوراثة، والأصناف المجردة، والتغليف، وتعدد الأشكال، والواجهات.
- تطبيق هياكل Java Collection Framework مثل القوائم، و
ArrayList، والخرائط، والمجموعات، وLinkedList، وHashSet، وHashMap، وPriorityQueue. - تطوير واستخدام الأصناف والدوال العامة لدعم إعادة استخدام البرمجيات.
- تطوير برامج recursive لحل مشكلات قابلة للحل بالتكرار.
- العمل بفعالية ضمن فريق لتصميم مشروع كائني وتطويره وعرضه.
محتوى المقرر¶
-
مراجعة CS101 والملفات والمصفوفات ثنائية البعد
مراجعة مفاهيم Java السابقة، ومعالجة الملفات، والمصفوفات ثنائية البعد.
-
تصميم الأصناف
الحقول، والدوال، والبنّاءات، والتحميل الزائد للبنّاءات، و
this، ودوال setter/getter، وtoString، وequals، والتغليف، والخصوصية، والكائنات والأصناف، والأصناف المجردة، ومحددات الوصول، وأعضاء الصنف. -
الوراثة
صنف
Object، والكلمةextends، والوراثة المفردة، والوراثة المتعددة عبر الواجهات، وsuper، والعلاقة بين الصنف الأب والابن، وتمثيل UML، ومراجع الصنف الأب، وinstanceof، والوصولprotected، وفحص النوع. -
تعدد الأشكال والواجهات
مراجع الصنف الأب، وupcasting، وdowncasting، و
getClass، والواجهات، والدوال المجردة، وواجهات SAM. -
Java Collection Framework
المصفوفات الديناميكية، و
ArrayList، وArrays، وLinkedList، وHashSet، وHashMap، وPriorityQueue، والبحث، والفرز، والمكررات. -
Generics
الأنواع العامة، والدوال العامة، والواجهات العامة، والأصناف العامة.
-
Recursion
الدوال ذاتية الاستدعاء، وحالة التوقف، والاستدعاءات المتكررة، ومشكلة StackOverflow.
-
المشروع النهائي
تصميم كائني جماعي، وتنفيذ، وعرض للمشروع.
التقييمات¶
| التقييم | النسبة |
|---|---|
| واجبات المعمل الأسبوعية | 7% |
| اختبارات قصيرة محوسبة | 8% |
| الحضور | 5% |
| اختباران رئيسيان | 30% |
| المشروع | 10% |
| الاختبار النهائي المحوسب | 40% |
مسار دراسة مقترح¶
- راجع موضوعات CS101، خصوصًا المصفوفات، والدوال، والملفات، وتتبع الكود.
- ادرس تصميم الأصناف والتغليف قبل الوراثة.
- تدرب على الوراثة، وتعدد الأشكال، والواجهات، والتحويل بين الأنواع، وفحص النوع معًا.
- تعلّم Java Collection Framework بالمقارنة بين استخدامات كل بنية.
- ادرس Generics وRecursion بأمثلة صغيرة قبل الانتقال إلى مسائل أكبر.
- استخدم المشروع لربط تصميم الأصناف، وإعادة الاستخدام، والمجموعات، والعمل الجماعي.
المصدر
تم تحديث هذه النظرة العامة بالاعتماد على منهج CS102.