
تُقدَّم محاضرات هذه الدورة عبر مقاطع فيديو قصيرة، لتسهيل متابعة المفاهيم الأساسية في بناء المترجمات البرمجية. ولمساعدتك على إتقان المادة، ستجد أسئلة داخل المحاضرات للإجابة عنها، إلى جانب اختبارات قصيرة (Quizzes)، وامتحانين: امتحانًا منتصف الفصل وامتحانًا نهائيًا. كما تتضمن الدورة واجبات منزلية على هيئة تمارين تتطلب منك عرض سلسلة من الخطوات المنطقية اللازمة لاشتقاق نتيجة محددة. على سبيل المثال: تتبّع الخطوات التي ينفذها مُتحقِّق الأنواع (Type Checker) للتحقق من أنواع جزء من الشيفرة، أو الخطوات التي ينفذها المُحلِّل النحوي (Parser) لتحليل سلسلة إدخال وفق قواعد اللغة. تعتمد آلية التحقق والتصحيح في هذه التمارين على تقنية ناتجة عن أبحاث مستمرة في جامعة ستانفورد لتطوير أدوات تعليمية مبتكرة، ويسعد فريق المقرر أن يكون هذا المقرر أول من يتيح هذه التقنية للمتعلمين. وتغطي الدورة الأفكار الرئيسية المستخدمة اليوم في تنفيذ مترجمات لغات البرمجة، بما في ذلك: التحليل المعجمي (Lexical Analysis)، والتحليل النحوي (Parsing)، والترجمة الموجهة بالنحو (Syntax-Directed Translation)، وأشجار البنية المجردة (Abstract Syntax Trees)، والأنواع والتحقق من الأنواع، واللغات الوسيطة، وتحليل تدفق البيانات، وتحسين البرامج، إضافة إلى موضوعات مرتبطة بتوليد الشيفرة وأنظمة وقت التشغيل. يوجد أيضًا مشروع اختياري يتمثل في كتابة مترجم كامل للغة COOL (Classroom Object Oriented Language)، وهي لغة كائنية التوجه تعليمية تُستخدم لتطبيق مفاهيم بناء المترجمات عمليًا.
Alex Aiken
Professor of Computer Science