
تقدم هذه الدورة صورة أوسع عن مجال علوم الحاسوب لمن لديهم معرفة أساسية ببرمجة Java. الهدف هو إزالة الغموض عن الحوسبة وبناء وعي بالأسس الفكرية والتاريخ الغني للمجال، وليس فقط تعلم كتابة كود. ستغطي موضوعات مركزية مثل الخوارزميات وكيف نقيم كفاءتها، وبنى البيانات التي تساعدنا على تنظيم المعلومات وحل المشكلات بشكل قابل للتوسع. كما تتناول الدورة أفكارا من علوم الحاسوب النظرية والمنطق الحاسوبي لفهم ما الذي يمكن حسابه وما حدود الآلات والنماذج الحسابية. على الجانب العملي ستتعرف على مفاهيم من العتاد ومعمارية الحاسوب لفهم كيف ينفذ البرنامج فعلا، ولماذا تؤثر الذاكرة والتخزين والتمثيل الثنائي على الأداء والسلوك. تمتد الدورة أيضا إلى قضايا مثل القابلية للتوسع، التجريد، ومبادئ التصميم التي تربط بين النظرية والتطبيق. بنهاية الدورة ستكون قادرا على ربط ما تكتبه من برامج بالسياق الأوسع: كيف تختار خوارزمية، كيف تبرر اختيار بنية بيانات، وكيف تفكر كعالم حاسوب لا كمبرمج فقط.
Robert Sedgewick
Computer Science
Kevin Wayne
Computer Science