CS336 : لغات البرمجة

القسم العلمي

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

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

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

نوع المقرر

إجباري

الوحدات

04

الاسبقيات

CS215

نظرة عامة

  1. إعطاء نظرة عامة على مفاهيم لغات البرمجة ومجالاتها ومعايير تقيمها و التعريف بطرق وصف رموز و معاني اللغة.
  2. تعريف الطالب بمفاهيم ومصطلحات التسمية في لغات برمجة مختلفة من تحديد طرق الربط والمجال وأنواع البيانات وفحص النوع وتحويل النوع.
  3. التعرف على مصطلحات ومفاهيم جمل الاسناد وجمل التحكم والتعابير المختلفة للغات برمجة مختلفة والبرامج الفرعية و تمثيلها.
  4. دراسة نماذج مختلفة للغات برمجة مثل لغات البرمجة الوظائفية و لغات البرمجة المنطقية مع دراسة حالة لكل نموذج.

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

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

1

التعرف علي مجالات لغات البرمجة و معايير تقييم لغات البرمجة و التعرف أيضا علي طرق وصف رموز و معاني الجمل

2

فهم مصطلحات التسمية و النوع في لغات البرمجة المختلفة

3

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

4

معرفة نماذج برمجية مختلفة عن النماذج التركيبية المدروسة سابقا

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

1

يقارن بين لغات البرمجة و تحديد أنواع البرامج التطبيقية من حيث المجال و استخدام القواعد لإنتاج جمل اللغة

2

وصف كل نوع من أنواع البيانات الأولية و طرق تمثيلها و مقارنتها في عدد من اللغات البرمجية

3

يقارن بين لغات البرمجة في التعامل مع التركيبات و قوة التعابير و الجمل و تمرير البيانات للبرامج الفرعية

4

يستخدم اللغات المنطقية و الوظائفية لكتابة البرامج المناسبة

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

1

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

2

التعامل مع أنواع البيانات الثابتة والديناميكية و التركيبات المختلفة في اللغات المختلفة

3

القدرة علي اختيار اللغة الأنسب من حيث قوة التركيبات و أنواع البيانات و تمريرها لحل المسألة

4

اختيار اللغة المناسبة في حل المسائل المختلفة مع القدرة علي تعلم لغات برمجية جديدة

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

1

يستخدم الحاسب الآلي و تكنولوجيا المعلومات

2

القدرة علي التواصل الشفهي و التحريري.

3

العمل كعضو ضمن فريق عمل

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

  • المحاضرات النظرية
  • التدريبات المعملية

طرق التقييم

رقم التقييم

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

مدة التقييم

وزن التقييم

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

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

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

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

ساعة و نصف

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

20%

الأسبوع 6

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

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

ساعة و نصف

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

20%

الأسبوع 13

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

المشروع الفصلي

ساعة

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

5%

الأسبوع 13

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

الامتحان العملي

ساعة

كل المقرر

5%

الأسبوع 16

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

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

ساعتان

كل المقرر

50%

الأسبوع 17

المجموع

100 درجة

100%

محتوى المقرر

الاسبوع

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

عدد الساعات

محاضرة

معمل

1

1. Introduction

Why should we study programming languages? Programming Domains , Language Evaluation Criteria , Implementing programming languages,

2.History of Programming Languages

A brief history of programming languages.

5

3

2

2-3

3. Grammars , Describing Syntax and Semantics

The Role of Grammars, Context-free Grammars, Derivations (Top-down- Bottom-up), Syntax and Semantics, Parse Trees , Notations for Specifying Languages (

EBNF,Syntax Graphs), Ambiguity Of the grammar

10

6

4

4-5

4. Names, Binding, Scope, Type Checking

Names,Variables, The Concept of Binding, Scope , Scope and Lifetime, Referencing Environments, Named Constants.

10

6

4

6

5. Data Types (Specification, Implementation, Declaration Of Data Types, Type Checking and Conversion ),

Primitive Data Types, Character String Types, User-Defined Ordinal Types, Array Types, Associative Arrays, Record Types, Tuple Types, List Types, Union Types, Pointer and Reference Types, Type Checking, Strong Typing, Type Equivalence

5

3

2

7-8

6. Expressions and Assignments

Arithmetic Expressions, Overloaded Operators, Type Conversions, Relational and Boolean Expressions,Short-Circuit Evaluation, Assignment Statements, Mixed-Mode Assignment

10

6

4

9-10

7. Statements & Control structures (Sequence control, data control)

Selection Statements,Iterative Statements, Unconditional Branching, Guarded Commands

10

6

4

11-12

8. Subprograms, Implementing Subprograms

Fundamentals of Subprograms, Design Issues for Subprograms, Local Referencing Environments, Parameter-Passing Methods, Parameters That Are Subprograms, Calling Subprograms Indirectly, Overloaded Subprograms, Generic Subprograms, Design Issues for Functions, User-Defined Overloaded Operators, Closures, Coroutines

10

6

4

14-13

9. Study in details any programming paradigm such as Functional Programming( eg Scheme , Lisp) , Logic Programming( eg Prolog ) or Pure OO programming ( eg smalltalk).

10

6

4

المراجع

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

اسم المرجع

الناشر

النسخة

المؤلف

مكان تواجدها

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

--------

--------

--------

--------

--------

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

Concepts of Programming Languages

Addison Wesley, 2009

12th Edition

Robert W. Sebesta

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

كتب مساعدة

--------

--------

--------

--------

--------

مجلات علمية

--------

--------

--------

--------

--------

مواقع إنترنت

--------

--------

--------

--------

--------

الذكاء الاصطناعي (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)