ITGS301 : تحليل وتصميم الخوارزميات

القسم العلمي

قسم هندسة البرمجيات

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

بكالوريوس في هندسة البرمجيات

نوع المقرر

عام

الوحدات

03

الاسبقيات

ITGS220

نظرة عامة

يقدم هذا المقرر تقنيات رسمية لدعم تصميم وتحليل الخوارزميات ، مع التركيز على كل من النظرية الرياضية الأساسية والاعتبارات العملية للكفاءة. تشمل الموضوعات حدود التعقيد المقاربة ، وتقنيات التحليل ، والاستراتيجيات الحسابية.

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

المعرفة والفهم

  • ان يتعرف على كيفية تحليل الخوارزميات وحساب زمن تنفيذها.
  • ان يتعرف على تحليل الأداء المقارب للخوارزميات.
  • ان يفهم مفاهيم تصميم الخوارزميات
  • ان يتعرف على تصنيف الخوارزميات recursive & Non recursive algorithms
  • ان يشرح المفهوم الأساسي لطريقة فرق تسد والاستدلال بأمثلة للخوارزميات
  • ان يتعرف على استخدام طرق تحليل زمن تنفيذ recursive algorithms
  • ان يتعرف على الاستخدام أفضل لمفهوم البرمجة الديناميكية adynamic programming
  • ان يتعرف على Graph algorithms

المهارات الذهنية

  • ان يميز بين المعايير (Big O , Big Omega , & Big Theta) Asymptotic notations
  • ان يختار الخوارزمية الأفضل لحل مشكلة ما.
  • ان يميز بين recursive algorithms & Non recursive algorithms
  • ان يقارن الطالب بين زمن تنفيذ الخوارزميات المختلفة

المهارات العملية والمهنية

  • تحليل زمن تنفيذ الخوارزميات المختفة
  • تحليل تعقيد الخوارزمية باستخدام صيغ التحليل المقارب.
  • تحديد مدى كفاءة الخوارزمية مقارنة مع غيرها لحل مشكلة ما.
  • استخدام المفاهيم المختلفة في تصميم الخوارزميات

المهارات العامة والمنقولة

  • أن يكون قادراً على استخدام الأدوات التكنولوجية الحديثة.
  • أن يستعين بمواقع الانترنت والمراجع العلمية للدراسة المستقلة
  • أن يكون لديه مهارة التفكير الجيد والمنظم للتعريف بمشكلة ما
  • أن يكون قادراً على الإلقاء والتقديم،

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

  • المحاضرات
  • واجبات منزلية
  • تمارين
  • مشروع تطبيقي

طرق التقييم

  • اختبار تحريري اول = 35
  • مشروع فصلي = 15
  • امتحان نهائي = 50

محتوى المقرر

  • Introduction of algorithms
  • Performance analysis
  • Asymptotic notations
  • Complexity and Orders of Growth
  • Analysis of time Complexity
  • Sorting problem : Insertion sort
  • RECURRENCE RELATIONS:
  • SOLVING RECURRENCES Iteration method
  • The master method for solving recurrences
  • The recursion-tree method for solving recurrences
  • Designing Algorithms / Divide-and-Conquer
  • Merge sort and Quick sort-Complexity
  • Dynamic Programming
  • Elementary Graph Algorithms
  • Greedy Algorithms
  • Single-Source Shortest Paths

برمجة الشبكات (ITSE405)
تطوير التطبيقات المتنقلة (ITSE304)
خوارزميات و بروتوكولات التشفير (ITSE306)
نظم إسترجاع المعلومات (ITSE307)
نظم تشغيل الأجهزة المتنقلة (ITSE308)
نماذج البرمجة (ITSE309)
مبادئ تطوير الألعاب (ITSE401)
نظم الوسائط المتعددة (ITSE404)
الحوسبة السحابية (ITSE406)
خدمات الانترنت (ITSE407)
تطوير تطبيقات الانترنت (ITSE408)
نمذجة الأنظمة المركبة (ITSE303)
التنقيب عن البيانات/الذكاء التجاري (ITSE302)
الشبكات الاجتماعية (ITSE409)
برمجة المنطق (ITSE301)
رياضة 1 (ITMM111)
فيزياء (ITPH111)
تقنيات حل المشاكل (ITGS113)
مقدمة في تقنية المعلومات (ITGS111)
لغة إنجليزية 1 (ITEL111)
لغة عربية 1 (ITAR111)
رياضة 2 (ITMM122)
لغة عربية 2 (ITAR122)
لغة إنجليزية 2 (ITEL122)
مقدمة في البرمجة (ITGS122)
تحليل و تصميم نظم (ITGS124)
الدوائر المنطقية (ITGS126)
مقدمة في الشبكات (ITGS215)
مبادئ الإحصاء والاحتمالات (ITST211)
البرمجة الشيئية (ITGS211)
مقدمة في هندسة البرمجيات (ITGS213)
التراكيب المنفصلة (ITGS217)
التحليل العددي (ITGS219)
مقدمة في قواعد البيانات (ITGS228)
تراكيب بيانات (ITGS220)
أساسيات نظم المعلومات (ITGS222)
مقدمة في برمجة الانترنت (ITGS226)
معمارية الحاسوب (ITGS223)
أمن المعلومات (ITGS224)
تحليل وتصميم الخوارزميات (ITGS301)
إدارة مشاريع تقنية المعلومات (ITGS303)
تحليل متطلبات برمجيات (ITSE311)
قواعد البيانات المتقدمة (ITSE312)
الكتابة العلمية (ITGS304)
لغة برمجة الحديثة - جافا متقدمة (ITSE322)
بناء البرمجيات (ITSE321)
نظم التشغيل (ITGS302)
تصميم وهيكلة البرمجيات (ITSE411)
برمجة الانترنت المتقدمة (ITSE412)
التفاعل بين الإنسان والحاسوب (ITSE413)
أخلاقيات هندسة البرمجيات (ITSE414)
جودة واختبار البرمجيات (ITSE421)
إعادة إستخدام البرمجيات (ITSE422)
البرمجة المرئية (ITSE423)
أنماط تصميم البرمجيات (ITSE424)