CS431 : برمجة نظم

القسم العلمي

قسم الحاسب الآلي

البرنامج الدراسي

بكالوريوس في علوم الحاسب الآلي

نوع المقرر

إجباري

الوحدات

04

الاسبقيات

CS211

نظرة عامة

  1. تعريف الطالب بالمفاهيم الأساسية لبرمجة النظم و بألة التعليمات المبسطة واستخدامها لتوضيح عمل برامج النظم المختلفة و التعرف أيضاً بلغة التجميع و هيكلية مترجم لغة التجميع.
  2. التعرف على تصميم مجموعة من برامج النظم التي تنظم العمل داخل الحاسب مثل معالج الماكرو ومحملات و الروابط و المترجمات و دراسة مراحل تصميمها المختلفة
  3. دراسة وصف وتحليل لغات عالية المستوي باستخدام برامج التصميم, و التعرف علي برامج نظم اخري مثل أنظمة التشغيل و برامج إدارة قواعد البيانات و محرر النصوص.

المخرجات التعليمية المستهدفة من دراسة المقرر

أ‌. المعرفة والفهم

1

التعرف علي المفاهيم الأساسية لبرمجة النظم و علي ألة التعليمات المبسطة و تعليمات لغة الاسمبلي

2

التعرف علي برامج النظم المختلفة و التي تخدم برامج المستخدمين و طرق تصميمها .

3

معرفة مراحل تقنيات تصميم المترجمات و الالمام بأنواع أنظمة التشغيل وبرامج نظم أخري و أهميتها.

ب‌. المهارات الذهنية

1

التمييز بين برامج النظم و البرامج التطبيقية و بين المعالجات المختلفة المستخدمة في تصميم الحاسوب.

2

فهم خوارزميات برامج النظم المختلقة و مراحل ترجمة البرامج المصدرية

3

اقتراح مترجمات للغات عالية المستوي ذات تركيبات بسيطة

ج‌. المهارات العملية والمهنية

1

استخدام الة التعليمات المبسطة لفهم تصميم برامج النظم المختلفة

2

تصميم مكونات إضافية لتقديم خدمات افضل لبرامج المستخدمين

3

يصمم مترجمات للغات برمجة جديدة و اختيار نظام التشغيل المناسب لبيئة العمل المحددة

د‌. المهارات العامة والمنقولة

1

التعامل مع مكونات الحاسوب المادية برمجيا والقدرة على عرض محتوياتها.

2

تحسين مستوى اللغة الإنجليزية و التواصل الشفوي و التحريري

3

القدرة على العمل في فريق.

طرق التعلم والتعليم

  • المحاضرات النظرية
  • البحث عن المواضيع في الانترنت
  • الاختبارات الاسبوعية
  • حلقات النقاش

طرق التقييم

رقم التقييم

أساليب التقييم

مدة التقييم

وزن التقييم

النسبة المئوية

تاريخ التقييم (الأسبوع)

التقييم الأول

الامتحان النصفي الأول

ساعة و نصف

الباب 1-3 (من 5-6 أسئلة)

20%

الأسبوع 5

التقييم الثاني

الامتحان النصفي الثاني

ساعة و نصف

الباب 4- 5 (من 5-6 أسئلة)

20%

الأسبوع 10

التقييم الثالث

اختبار فجائي

ربع ساعة

المحاضرات السابقة

5%

بعد الأسبوع 3

التقييم الرابع

تقارير

نصف ساعة

مواضيع مشروحة

5%

الأسبوع 4, 9

التقييم النهائي

الامتحان النهائي

ساعتان

كل المقرر

50%

الأسبوع 16

المجموع

100 درجة

100%

محتوى المقرر

الاسبوع

الموضوع العلمي

الساعات

محاضرة

1

التعريف ببرمجة النظم - الفرق بين برامج النظام و البرامج التطبيقية – دراسة تركيبات المادية للحاسب - دراسة معالجات CISC و معالج RISC و المعالجات الهجينة و معالجات الأغراض العامة

4

4

1

الة التعليمات المبسطة و الة التعليمات المبسطة الممتدة (SIC machine and SIC/XE machine) – دراسة ذاكرة كل الة و المسجلات و شكل البيانات و التعليمات و عمليات الادخال و الإخراج

4

4

3-4

التعريف بلغة التجميع (التعليمات و الموجهات و البيانات و الكلمات المحجوزة – و الموحدات ) – هيكلية مترجم لغة التجميع (Assembler scheme) - هياكل البيانات خوارزمية مترجم التجميع - و هيئة المخرجات لمترجم لغة التجميع (Object Code Format)- تصميم عام للمجمع ذات المرور الواحد (One Pass Assembler) – تصميم عام للمجمع ذات المرورين(Two Pass Assembler)

8

8

5-6

معالج الماكرو (Macro processor) - تعريف و تمديد الماكرو(Macro Definition and Expansion) – ميزات الماكرو ( ربط المعاملات Parameter Concatenation -توليد أسماء مفردة Unique Labels- التداخل Nested Macro – معاملات الماكرو الشرطي Conditional Macro - الكلمات المحجوزة keyword macro Parameters) – تصميم معالج الماكرو (خوارزمية المرور الواحد و خوارزمية المرورين)

8

8

7-8

المحملات و الروابط (loaders and Linkers) – وظائف المحملات – أنواع المحملات– هيئة مخرجات المحملات (Object code format) – التخصيص و إعادة التخصيص (allocation and reallocation) - الروابط لحل مشاكل التعريف و الرجوع الخارجي (External Definition and Reference) – هيئة المخرجات الروابط (Object code format) – هياكل بيانات وخوارزميات المحملات و الروابط (خوارزمية المرور الواحد و خوارزمية المرورين) – خيارات تصميم المحمل

8

8

9-10

المترجمات (Compilers) (المترجم المتعدد – مترجمات المرور الواحد ومترجمات المرور المتعدد – مترجمات من مصدر الي مصدر- مترجم المرحلة – مترجمات زمن التنفيذ فقط) – هيكلية المترجمات (الماسح Scanner المحلل Parser- ومعالج الأخطاء – فحص المفهوم – توليد الشفرة الوسطية – تحسين الشفرة – توليد الشفرة الهدف)

8

8

11

دراسة Finite State Machine والتعابير الحسابية Regular Expression و القواعد وGrammar المستخدمة في مراحل تصميم المترجم

8

8

13-12

وصف و تحليل لغات عالية المستوي - دراسة الحالة بلغات برمجة مختلفة (لغة C) – برنامج Lex &yacc لوصف و تحليل لغات برمجة

4

4

14

برامج التشغيل Operating Systems – أنواع أنظمة التشغيل – وظائف أنظمة التشغيل – أنظمة إدارة قواعد البيانات DBMS – هيكلية و وظائف محررات النصوص Text Editors

4

4

المراجع

عنوان المراجع

اسم المرجع

الناشر

النسخة

المؤلف

مكان تواجدها

مذكرات المقرر

--------

--------

--------

--------

--------

الكتب الدراسية المقررة

System Software: An Introduction To System Programming

Addison Wesley, 1997

3rd Edition

Leland L. Beck

نسخة الكترونية

كتب مساعدة

--------

--------

--------

--------

--------

مجلات علمية

--------

--------

--------

--------

--------

مواقع إنترنت

--------

--------

--------

--------

--------

غيرها

--------

--------

--------

--------

--------

الذكاء الاصطناعي (CS456)
البرمجة الشيئية باستخدام الجافا (CS439)
البرمجة المرئية (CS435)
تصميم مترجم (CS432)
تنظيم حاسب 2 (CS440)
برمجة الويب 2 (CS416)
هندسة الويب (CS412)
إدارة المشاريع (CS411)
تصميم وتطوير تطبيقات الأجهزة المحمولة (CS410)
نظرية الاتمتة واللغات الصيغية (CS441)
بحوث العمليات (CS442)
تحليل عددي (CS448)
لغة انجليزية 1 (EL101)
رياضة 1 (MA100)
هندسة تحليلية مستوية (MA101)
مقدمة في الإحصاء (ST101)
أساسيات البرمجة (CS100)
لغة عربية 1 (AR051)
رياضة 2 (MA102)
هندسة تحليلية فراغية (MA103)
فيزياء عامة 1 (PH112)
مقدمة في الاحتمال (ST102)
البرمجة الهيكلية I (CS111)
لغة عربية 2 (AR052)
التركيبات المتقطعة (CS200)
تنظيم الحاسب الآلي (CS207)
البرمجة الهيكلية 2 (CS214)
البرمجة بلغة الاسمبلي (CS211)
البرمجة الشيئية (CS215)
لغة انجليزية 2 (EL102)
هياكل بيانات وخوارزميات1 (CS331)
برمجة الويب (CS315)
تحليل وتصميم النظم (CS319)
طرق عددية (CS323)
هياكل بيانات وخوارزميات2 (CS332)
لغات البرمجة (CS336)
أمن نظم الحاسب (CS340)
شبكات الحاسب الآلي (CS343)
نظم تشغيل (CS437)
برمجة نظم (CS431)
قواعد البيانات (CS436)
مشروع تخرج (CS450)
استرجاع المعلومات (CS444)
هندسة البرمجيات (CS438)