مرحبا بكم في ويكي موقع CSC-SY.net.
الويكي هي نظام يسمح لأي عضو بالمشاركة في إنشاء و تحرير الصفحات، و بذلك يمكن للأعضاء أن يتعاونوا على كتابة مقالات و إنشاء صفحات، كما توفر الويكي طريقة سهلة لتنسيق هذه الصفحات.
صفحات ويكي موقع CSC-SY.net متوفرة باللغات التالية:
بإمكانكم تجريب نظام الويكي في صفحة ساحة اللعب قبل إنشاء صفحة.
و بإمكانكم الإطلاع على المقالات المميزة في صفحة قائمة المقالات.
<!--break-->
الويكي هو برنامج يتيح للمستخدمين امكانيات التحرير و الإضافة والحذف وتعديل الموقع ،كما يمكنهم من بناء محتوي الموقع تعاونيا مما يجعل المحتوي يعبر عن ما يريده المستخدمين .
<!--break-->
مرحباً بكم في ويكي موقع CSC-SY.net باللغة العربية.
الويكي هي نظام يسمح لأي عضو بالمشاركة في إنشاء و تحرير الصفحات، و بذلك يمكن للأعضاء أن يتعاونوا على كتابة مقالات و إنشاء صفحات، كما توفر الويكي طريقة سهلة لتنسيق هذه الصفحات.
صفحات ويكي موقع CSC-SY.net متوفرة أيضاً باللغات التالية:
بإمكانكم تجريب نظام الويكي في صفحة ساحة اللعب قبل إنشاء صفحة.
Computer SCience in SYria، CSC-SY موقع يجمع طلاب كليات الهندسة المعلوماتية بجامعات دمشق وحلب والبعث وتشرين وغيرها من الجامعات الخاصة والمؤسسات التعليمية بالإضافة إلى المدرسين والباحثين والعاملين والمهتمين بمختلف مجالات علوم الكمبيوتر وتطبيقاتها وتقنياتها في سوريا.
انطلق الموقع رسمياً في 24 كانون الثاني عام 2004 نتيجة جهود مجموعة صغيرة من طلاب السنة الثالثة في كليات الهندسة المعلوماتية بالجامعات الأربعة المذكورة، واعتمد على نظام مبني على PHP-Nuke في تصميم أقسامه وتوفير خدماته التي عكست متطلبات أعضاء الموقع من الطلاب بشكل أساسي.
تعرض الموقع لتغيير نطاق في بداية عام 2005، وفي 1 تشرين الأول من العام نفسه تبنى الموقع نظام Drupal مقدماً بذلك مرافق جديدة ذات خصائص متقدمة تتيح تكامل أفضل لأقسامه وقيمة أكبر لمحتواه.
يدار الموقع من قبل أربع مدراء من طلاب كليات الهندسة المعلوماتية بالجامعات الأربعة كما يقوم بالإشراف على نشاطاته عدد من المشرفين المخولين من قبل المدراء.
يسود الموقع جو من الوفاق والتعاون بين أعضاءه في سبيل إغناء مضمونه وتوسيع قاعدته وربطه بالحياة الجامعية والواقع المعلوماتي في سوريا.
تم اللقاء الرسمي الأول لأعضاء الموقع في 7 شباط 2005 في مدينة اللاذقية.
| السؤال | الجواب |
| التعليمة يلي مكتوبة هي بتحول الغرض (c1) إلى النمط (int), وهو ما يدعى (casting)...أي التحويل من نمط إلى نمط آخر من خلال وضع اسم النمط المطلوب ضمن قوسين قبل الغرض الأصلي و تتطلب هذه العملية تعريف العملية(operator) الموجودة:operator int() بس بظن الغلط أنو التابع الأخير مو موجود الو جسم وأقترح تعريفه كما يلي: int operator int (){ return x;}... int يلي حاططا هي اسم الـoperator يعني متل وقت منعيد تعريف العملية + (+operator)... بالنسبة للcast انت يلي بتجددي نوعا من خلال النمط يلي بتحطي اسم و شو النوع يلي بيعيدو التابع(و المفروض يكون نفس بعض)... يعني ال cast ممكن تكون لأي نوع أساسي ... ------------------------------------------------------------------------------------------------ First: You must look out for the simple mistakes you have done up there! Second: The operator you have defined is called a cast operater, it is used to cast your entire object into some other type! (in this case to an int), you may as well cast to any other primitive (float, char...)all in the same way... just define the correct operator, but you don't need to cast down in the main function you just type: int a=cl; Third: And by the way, to do the exact opposite of that,i.e. make an object out of an integer value just define a constructor with one int parameter: i.e.: c(int m){x=m}; |
| شباب إذا في مجال حدا يشرحلنا معناة auto , register , static , extern في الصفحة 51,52,53,54 في السلايد الراب | هلئ static معناها أنو هاد المتحول ثابت, يعني يعرف مرة وحدة خلال البرنامج و يحافظ على قيمته... يعني اذا كنت معرفة بقلب تابع المتحول من نوع static بينحجز بالذاكرة عند أول استدعاء للتابع و بينحفظ بالذاكرة لنهاية تنفيذ البرنامج, يعني لو استدعي التابع أكتر من مرة ما حينحجز هاد المتحول مرة تانية و بتتنفذ التعليمات على المتحول اللي نحجز أول مرة وبيحافظ على قيمتو بعد انتهاء تنفيذ التابع, وعند الاستدعاء التالي منتعامل مع المتحول نفسو وبنفس القيمة يلي كان بيحملا قبل ما ينتهي التنفيذ السابق للتابع... ------------------------------------------------------------------------------------------ رح اشرحلك الـ extern لأنو بشغلي بالـ ++C ما مر معي غيرها هي والـ static الـ extern معناها انو المتحول المطلوب معرف بملف تاني غير الملف الحالي يعني مثلا لو كنت معرف متحول بملف اسمو int i وحبيت تستعملو بملف تاني بتكتب بس extern int i بالملف التاني وهيك بروح الـ compiler بدور على هالمتحول بالملفات اللي عامللها include انت بداخل الملف التاني ان شاء الله تكون وضحت الفكرة !! ----------------------------------------------------------------------------------------------- بالنسبة للregister and auto فهنن للتصريح عن متحولات اتوماتيكية يعني وقت بتحطن- قبل تعريف المتحولات- بيقى التعامل مع المتحولات فعال ضمن الكتلة --------------------------------------------------------------------------------------------- الstatic : --------------------------------------------------------------------------------------------- #include <iostream.h> int *p; void test() void main()
|
| في شغلة باول سلايد عم تحكي علىoutput-cerr #include cerr< exit(1); | بظن أنو هاي متعلقة بالـ(Files) لأنو الـ(ofstream) بظن أنو تابع للخرج على الملفات...أما (cerr) فهو تابع بيظهر رسالة خطأ يعني متل (cout) بس بدل ما يكون الخرج على شاشة الDos الخرج بيكون على شكل رسالة خطأ... ---------------------------------------------------------------------------------------------------------------------------------- أول شي مشان الـ cerr .. هي متل الـ cout ما بتختلف عنها شي بس لتدل انو هي الرسالة هي رسالة خطأ ... |
| انو وقت بدنا لتابع يردلنا عنوان لمتحول لازم بقلب التابع نعرف المتحول المطلوب على انو من نمط static حصريا لانو اذا ما عرفنا من هاد النمط فالتابع لح يرجع المتحول من نمط اتوماتيكي والمتحول الاتوماتيكي ما بيحتفظ بقيمته خارج التابع وبالتالي ما لح نعرف شو هي القيمة يلي حيرجعها التابع ..... | ومشان فكرة static لما بدنا يردلنا التابع عنوان شي متحول ... فما بتصور انو هالكلام صح شو يعني متحول static معرف بداخل تابع .. هالشي بيعني ان المتحول بيحتفظ بقيمته من استدعاء إلى آخر للتابع وما بيرجع للقيمة 0 مثلا اذا كان int .. وبالنسبة للطريقة اللي ذكرتيها مشان اعادة عنوان المتحول فهي بتعتمد على فكرة انو المتحول الـ static بيبقى بالذاكرة ... وما بموت مشان هيك بقدر استعملو من عنوانو ايمتا ما بدي ... بس هالشي غلط (ليس برمجي ولكن خطأ بالمفهوم) أصلا لما بعرف متحول داخلي بتابع فما في أي معنى أبدا لإني رجع عنوانو .. اما برجع متحول Int كامل بيحوي قيمة المتحول أو بعرفو برا التابع وبمررو by reference للتابع وبترجع فيه القيمة اللي بدي ياها نتيجة عمليات داخل التابع اما اني عرف متحول static داخل تابع ورجع عنوانو فما الها اي فائدة عملية ابدا |
| شو هاد الماكرو؟؟؟؟؟؟؟؟؟؟؟؟ شو بفيد وشو بيفرق عن التوابع العادية؟؟ وإمتى بستخدمو؟؟ | الماكرو هو ماكرو بشكل أساسي قبل ما يكون أي شي تاني
بيفرق عن التابع العادي انو بيتنفذ بالـ compile time يعني بدل ما وقت التنفيذ نبدل التابع بتعليماتو ... وقت الترجمة بيحط الcompiler التعليمات المناسبة مكان الاستدعاء وبالتالي بصير التنفيذ أسرع
inline function نفس الشي وهي انو نكتب تابع ونكتب قبلو كملة inline بصير الـ compiler يبدل التعليمات وقت الترجمة بس ما لازم يكون التابع طويل كتير وممكن الـ compiler يتجاهل كلمة inline اذا شاف انو التابع ما ممكن يكون inline ---------------------------------------------- أما بالنسبة للماكرو في المثال مستدعين التابع للقيمة a++ وهيك عما يبدل كل قيمة للمتحول داخل التابع ب a++ مشان هيك عما تزداد قيمتو 3 مرات كل استدعاء. |
| بس في سوال تاني عن الموشرات اذا كان عنا مصفوفة وموشر p يبياخد قيمة بدائية اسم المصفوفة ....بقا شو الفرق بين ++p* وp++*؟ | هلأ الزيادة الخلفية ++P والتأشير P* لها نفس الاولوية وهي تجميعية من اليمين.............لذلك: ----------------------------------------------------------------------- ++p* بتزيد (1) على قيمة المؤشر وبالتالي بينتقل للعنصر التاني من المصفوفة وبعدين بياخد عن طريق (*) قيمة العنصر أما p++* بتزيد (1) للمؤشر وبتاخد ما يؤشر إليه كمان يعني باختصار ولا وحدة منون رح تزيد شي على قيمة الرقم الموجود بالمصفوفة هلأ لو كتبتون هيك لحالون ما بتفرق بس مثلا لو كنت عم اطبع ... بالأولى رح يطبع محتوى p وبعدين ينقل p للأمام أما التانية رح ينقل P للأمام وبعدين يطبع المحتوى تماما متل مبدأ i++ و ++i
|
| إذا حدا بيتكرم علينا وبيعطينا فكرة مختصرة عن ال operator overloading يعني فكرة شاملة وله جزيل الشكر. | الـOperator overloading يعني التحميل الزائد للعمليات متل الجمع (+), الضرب(*), (>,<,==,...) وهيك... ------------------------------------------------------------------------------------ يعني رح وضح الفكرة مباشرة عن طريق مثال لو كان عنا عددين i و j من نمط int ببساطة يمكن أن نطبق إحدى العمليات المعرفة في لغة ++C عليهما فورا مثل الجمع +أو الطرح - ... الخ بجوز تقول انو الموضوع بسيط بس هو لأ ... الفكرة انو اللغة مكتوبة بحيث تقبل عملية الجمع إذا كان على يمينها ويسارها int هلأ لو كان عنا صف اسمو مثلا Complex بيمثل العدد العقدي وفيه 2 data members اللي هنن float realPart القسم الحقيقي و float imaginaryPart اللي هو القسم التخيلي لو عرفت متحولين من هذا الصف c1 و c2 و متحول تالت c3 وكتبت c3 = c1 + c2 ما رح يقبل الـ Compiler هالسطر ورح يقلك انو عملية الجمع ما معرفة على هيك نمط فالمطلوب هو انك ترجع تعرف العملية على هذا الصف بحيث تقوم باللي انت بدك ياه واللي هو بحالتنا انو تجمع القسم الحقيقي للأول مع القسم الحقيقي للثاني وتحط الناتج بالثالث ونفس الشي القسم التخيلي هي مبدؤها مشان الـ syntax كيف بتنكتب راجع السلايدات واذا كان في مشكلة بوضحها ان شاء الله
|
| سؤال عن المصفوفة الديناميكية : شو يعني .. وشو بتفرق عن المصفوفة العادية .. لأن شفتها بسؤال دورة السنة الماضية .. وبصراحة هي أول مرة بسمع فيها | المصفوفة الديناميكية من اسمها: هي مصفوفة ما بتحددي حجما وقت تعرفيا, وانما بتحجزي الحجم يلي بدك من خلال التعليمة (new)... ------------------------------------------------------------------- المصفوفة العادية static هي اللي بتكون معرفة بالشكل العادي اللي منعرفو int a[10]; // static وهي مضطرين نحدد فيها بعد المصفوفة وقت كتابة البرنامج طيب ممكن الواحد يحتاج لأكتر من 10 وقت التنفيذ وهيك بكون ما حقق المطلوب وممكن ما يحتاج غير 1 وهيك بكون حجز مساحة عالفاضي ولازم الرقم يكون عدد ثابت ما بصير يكون متحول ... الحل هو بالحجز الديناميكي وقت التنفيذ متل ما منعرف انو المصفوفة هي مؤشر على أول عنصر فيها وبدل ما اكتب التعريف كما سبق بعرفها على شكل مؤشر صريح كالتالي int* p = null ووقت اعرف اديش بيلزمني .. (مثلا ممكن اقرأ الرقم من الدخل n) بعمل p = new int[n]; // dynamic وبتصير p بتأشر على أول عنصر من مصفوفة int بعدها n ... ومنستعملها عادي p[i] // get item number i in array وفي فرق كمان (بس لزيادة العلم) انو المتحولات كلها بالبرنامج بما فيها المصفوفات الـ static بتنحجز بالـ stack اللي مساحتو صغيرة مشان هيك ما منقدر نعرف كتير متحولات وبيطلعلنا أحيانا بالعودية stack over flow اما الحجز الديناميكي بالمؤشرات بصير بالـ heap وهي حجمها كبير كتير
|
| شو منقصد باستخدامنا & باسم التابع int & new_index (int a[],int i){ ... return a[i-1]; } | هي ما لاسم التابع هي للنوع اللي عم يرجعو التابع اللي هو &int .. يعني عنوان لمتحول int وليس المتحول نفسو ..... |
| يا ريت حدا يوضحلي الـ this والمثال اللي بـ C8-Classes2 page 23 | this باختصار هي مؤشر للـ object الحالي من الصف يعني لو كان عندي بأحد توابع الصف this->x لما بعرف Student s ... وبستدعي التابع اللي بيحوي التعلمية الماضية بكون المقصود هو الـ x الخاصة بـ s .. وبالنسبة للمثال بس هو كاتب method بالـ class بتاخد متحول من نفس نوع الـ class وبتشوف اذا هالـ object اللي مررناه هو نفسو اللي استدعينا منو التابع ... عن طريق الـ this ممكن اعرف هالشي يعني هي بدها شرح أكتر من هيك .. بس حاولت وضح الفكرة الاساسية باختصار |
| هلأ في بالسلايدات مثال : int *iptr if(true) { int p=5 iptr=&p } cout *iptr هلأ مو لازم بعد ال scope يضيع المؤشر .. يعني ما يعود يأشر على 5 ويطبع قيمة عشوائية .. ؟؟؟ الدكتور هيك كاتب ...بس أنا وقت جربته ما صار هيك وطبعلي 5 ... ولما جربته على تابع .. يعني لما خليت ال p معرف داخل حدود التابع بس .. وطبعت المؤشر بال main طبع قيمة عشوائية .. كيف هيك صار مع إنو نفس الحالة ؟؟ !!!!!!!! | هلآ iptr عما يأشر على موقع P قبل نهاية ال scope بس بعد ال scope p رح تروح بس iptr لسعتو عما يأشر على موقع (يلي هو موقع p سابقا وهل موقع في قيمة (5) وهالموقع بتتغير قيمتو وقت بيجي متحول تاني محلو (يعني الفكرة إنو iptr عم يأشر عل موقع بس ما حجزو ) حسب ما فهمت.
|
| سؤال : إذا مان لدينا مايلي : int a = 5; شو الفرق بينهما وإنا طبقتون عل حاسب : طلع الفرق بينهما إنو فقط لانستطيع التعديل على (*v)const int * u = &a; int b = 6; int * const v = &b; | أخي عبيدة ... لاستعمال const مع المؤشرات أربع حالات مختلفة ... رح اذكرها واعطي مثال على كل وحدة وبتقدر تراجع السلايدات كمان لأنو موجودين كلون 1. مؤشر متغير على قيمة متغيرة: من الاسم واضح انو بقدر غير قيمة المؤشر والقيمة اللي بأشر عليها وهي الحالة العامة اللي منستعملها عادة متل int i = 3 int* p = & i بقدر بأي تعليمة بعد الإسناد أسند عنوان جديد للمؤشر p أو أسند قيمة لما يؤشر إليه p* وبتصور هي بسيطة 2. مؤشر متغير إلى قيمة ثابتة: متل التالي const int* p وهي معناها المؤشر p هو مؤشر إلى قيمة int ثابتة .. يعني ممكن لسهولة الفهم نعتبر const int كلها هي النمط اللي بأشر إليه p هون القيمة اللي بأشر عليها التابع لا يمكن أن تتغير .. يعني ما بصير أسند شي لـ p* ممكن اكتب p = &i .. بس ما بصير اكتب p = 10* .. لأنو القيمة اللي بأشر عليها ثابتة ولا تتغير (هيك بكون حميت القيمة اللي بأشر عليها p من التعديل)
3. مؤشر ثابت إلى قيمة متغيرة: يعني p* ممكن تتغير وقت بدنا ... بس p ما منقدر نأسندلها اي شي لأنو المؤشر ثابت .. (يعني يؤشر على نفس الموقع دائما) طبعا بعطيه العنوان وقت التعريف (قيمة ابتدائية) متل int i int* const p = & i لاحظ انو كتبنا const قبل المؤشر للدلالة انو المؤشر هو الثابت وليس القيمة اللي بأشر عليها وما بصير بعد التعريف نكتب p = &i بس ممكن نكتب p = 10*
4. مؤشر ثابت إلى قيمة ثابتة: وهي أكتر الأنواع restricted وفيها ما منقدر نغير القيمة اللي بأشر عليها ولا نغير الموقع اللي بأشر عليه p = 10* ممنوع ، p = &i ممنوع بس منعطي القيمة وقت التعريف int i = 10 const int * const p = & i |
| سؤال بالclasses : شو بيعمل الcopy constructor ؟؟ فهمت أنو يستدعى لما منكون بدنا نأسند object لobject تاني، طيب بيسمح أنو نعمل اسناد فوراً بيناتهن باستخدام =؟؟ بس ساويت class وحطيت فيه copy constructor وأسندت متحولين من هالclass لبعضهن، بس ما استدعى ال copy constructor!!!! وصارت عملية الاسناد عادي!!!! وحتى لما حذفت هاد الconstructor مشي الحال تمت عليمة الاسناد عادي!! طيب إذا هيك معناها شو فرق ال copy constructor عن التحميل لعملية ال= !!!! وفرق بين الdeep and shallow constructor أنو الdeep بيعمل نسخة مو بس للobject وللمؤشرات اللي ضمن الobject ؟؟؟ وأنو لما بدنا نعمل اسناد بين 2 objects كمان بينسخ المؤشرات؟؟؟ شغلة تانية: لما بيكون عنا const object ما بيصير نستخدم معو إلا const functions أو الconstructor صح؟؟؟ أما إذا كان object عادي فينا نستعمل معو أي تابع؟ ولما بيكون عنا const member ما بيصير كمان نستخدم معو إلا const function ، والmembers الباقيين فينا نستخدم معهن شو ما بدنا؟؟ | مشان الـ copy constructor ... يتم استدعاؤه بـ 3 حالات أول شي لما عرف object جديد من الصف وابعتلو نسخة من object قديم يعني متل Student s1 Student s2(s1) // this is a copy constructor call حالة تانية هي وقت إسناد object لـ object من نفس النمط متل s2 = s1 هلأ بدون copy constructor تتم العملية من دون مشاكل بالـ compiling بس وقت التنفيذ اللي رح يصير هون انو رح تنسخ الـ data members من s1 إلى s2 واللي هي int أو float أو اي نوع آخر بسيط أما المصفوفات والمؤشرات فرح ينسخ العنوان تبعها وبالتالي بتصير المؤشرات الموجودة بـ s1 و s2 عم تأشر على نفس المتحولات اللي هي اللي بتأشر عليها مؤشرات s1 .. والآن اذا هدمنا s1 .. رح يروح كلشي بيأشر عليه مؤشرات s2 .. هيدا اسمو shallow copy .. ولحل المشكلة منضيف copy constructor مننسخ فيه بايدنا المصفوفات أو القيم اللي بتأشر عليها المؤشرات وهيدا اسمو deep copy ... وطبعا يتم استدعاء الـ copy constructor بشكل تلقائي عند الإسناد الحالة التالتة التي يتم فيها استدعاء الـ copy constructor هي عند تمرير object من الصف كوسيط لأحد التوابع بالقيمة ( بدون & ) ... وقتها يتم استدعاء الـ copy constructor لعمل نسخة من الـ object متل أي متحول وإرسالها للتابع ... بس لا تنسو الملاحظة الهامة انو إذا كان التمرير بالعنوان & ... ما في داعي للنسخ ... !!! بتمنى كون وضحت تماما فكرة الـ deep & shallow copy و الـ copy constructor |
| hey when do we write the constructer in this way A ( int l, int r) { nl= 1, nr=r;} and when do we write it in this way | الطريقتين صح بس التانية هي منقدر نعمل من خلالها إسناد للقيم خارج الـ body تبع الـ constructor ... |
| في سلايد ال polymorphism : المثال الأخير لماذا تم استخدام Dynamic_cast من ال class الأب إلى ال class الإبن. | |
| بس ممكن حدا يوضحلنا الفرق بين بين التابعين (ما بياخد شي) cin.get و (بتاخد وسطاء) cin.get وشو بيعمل التابع strcspn ؟ | strcspn(s1,s2) ------------------------------------------------------------------------------------ cin.get بدون وسطاء بيقرا حرف cin.get مع وسطاء ... بياخد المتحول اللي بدو يعبي فيه السلسلة النصية وعدد الحروف اللي بدو يقراها وأخيرا المحرف اللي بيوقف عندو وغالبا منحطو /n يعني نهاية السطر وبتوقف عملية القراءة لما منوصل لعدد الحروف المحدد أو للمحرف اللي حطيناه كوسيط تالت
|
| هلأ في إلها شروط متل أنو ما يكون في تغيير بعدد الباراميترات الممررة للعملية متل أنو عملية الجمع بتاخد باراميترين وما بيصير نعطيها واحد أون تلاتة...
bool array::operation == (const array & ) const; هلأ هي شو يعني ؟؟؟ وليش في أمبرساين عند الأرري وليش الconst بالأخير | هلأ من شان ال(ref)عند ال(array)فهي بس لتسريع البرنامج وأما ال(const)فهي منشان يقدر أي (object)ساكن أنو يقوم بهالعملية المحملة بشكل زائد.إن شاء الله تكون وصلت الفكرة. ----------------------------------------------------------------------------------------------- على فكرة & عند الـ array حتى لو ما حطيتها نفس الشي الهدف منها انو نسرع عملية التمرير للتابع ونعملها تمرير بالعنوان وليس بالقيمة مشان ما نعمل نسخة خاصة للتابع من المتحول بس المصفوفة هي اصلا عنوان أول عنصر فيها .. يعني حتى لو ما حطيتها نفس الشي والـ const بآخر السطر .. أما الـ const قبل المصفوفة فهي منحطها قبل أي متحول وسيط ممرر لتابع مشان نضمن انو ما تتعدل قيمتو داخل التابع
|
فيكن ترجعو لدروس ال++C الموجودة في قسم الملفات في الموقع -> جامعة دمشق.
http://www.freeiconsdownload.com/index.html
موقع رائع جدا للأيقوانات الثلاثية الأبعاد التي من الممكن أن تستخدم في التصميم وتصميم المواقع
ويحوي أيضا على Banners جاهزة
وLogos أيضا
http://www.freeiconsweb.com/
مليء بالأيقونات الجميلة الثلاثية الأبعاد
هي الصورة هدية مني لفؤاد من هاد الموقع
http://www.icongalore.com/
موقع جميل لأيقونات ويندوز فيستا وXp بس مو كلون مجاني !!
الويكي هو نظام يسمح لأي عضو ضمن موقع csc-sy أن يحرر أي صفحة، مما يعطي مرونة كبيرة و يمكن الجميع من العمل معا، دون وجود حواجز السماحيات، فالكل متساوون بما يستطيعون فعله من إنشاء و تحرير صفحات.
عند إنشاء أو تحرير صفحة، يحتفظ النظام بكافة النسخ السابقة، مما يضمن إمكانية العودة لها في حالات الخطأ، كما يمكن النظام من مقارنة النسخ المختلفة مما يسهل تحديد مواقع التعديلات.
الويكي هي أسلوب مثالي لإنشاء المقالات بشكل تعاوني، لا تخف من العمل ضمنها و إنشاء صفحات جديدة أو تحرير الصفحات الحالية، فلا يوجد خطأ لا يمكن إصلاحه، و جميعنا يرتكب الأخطاء في البداية، يمكنك أيضا التجريب ضمن ساحة اللعب قبل البدء بتحرير مقال حقيقي.
هناك بعض التوجيهات التي يفضل الالتزام بها عند العمل ضمن الويكي:
هذة قائمة جزئيّة بالسيديّات المتوفّرة حاليّا عند مكتبة المستقبل. تقع هذة المكتبة امام كليّة الهندسة المعلوماتيّة في مدينة دمشق. في حال وجود خطأ, رجاء قم بتصحيحه, و في حالما أضفت شيئا جديدا, قم أيضا بإضافته هنا. الأسعار طُلّابيّة. ![]()
توزيعة سوزي لينوكس 10.1 (Suse Linux), و هي عبارة عن 5 سيديّات + 1 Add-Ins CD . سوزي هي من أسهل توزيعات لينوكس استخداما و من أشملها من ناحية البرامج.
توزيعة سوزي لينوكس 10, و هي عبارة عن 5 سيديّات.
توزيعة سوزي لينوكس 10.2 (نسخة ألفا)، يجب استخدام text installation لتنصيب هذه التوزيعة.
توزيعة OpenSuse Slick و هي نسخة مصغّرة عن توزيعة سوزي (الإصدار العاشر) على قرص ليزري واحد. (مكتوب على القرص OpenSuse Sick
).
توزيعة Kubuntu 6.0.6 desktop i386 وهي قرص ليزري واحد يحوي نسخة تعمل من السيدي مباشرةً ويمكن تنصيبها.
توزيعة Kubuntu 6.0.6 desktop AMD64 وهي قرص ليزري واحد يحوي نسخة تعمل من السيدي مباشرةً ويمكن تنصيبها.
Gentoo
توزيعة Sabayon Linux x64 3.1 وهي قرص DVD واحد, تحتوي على Xgl و AIGLX و Beryl بشكل افتراضي. يمكن العمل من القرص أو تنصيبها.
توزيعة Kororaa Xgl LiveCD 0.2 و Kororaa AIGLXgl LiveCD 0.3 وكل منها قرص ليزري واحد.
توزيعة Gentoo 2006.0 x86 و هي قرص واحد.
توزيعة Gentoo 2006.1 AMD64 و هي قرص واحد.
Mandriva
توزيعة ماندريفا لينوكس 2006 و هي قرص DVD واحد.
توزيعة Mandriva Linux Free 2006.0 و هي ثلاثة أقراص ليزريّة.
Fedora/Red Hat/CentOS
توزيعة Fedora Core الإصدار الرابع و هي عبارة عن أربعة أقراص ليزريّة.
توزريعة CentOS 4.2 (نسخة عن RHEL 4.2) و هي أربعة أقراص ليزريّة. يظهر أنّ النسخة مضروبة, سيتم تبديلها في القريب العاجل. لا تشترها الآن.
Knoppix
توزريعة Knoppix و هي قرص ليزري واحد الإصدار رقم 3.7.
Arabian Linux
توزيعة Arabian Linux (أيُّ إصدار؟).
Elive
توزيعة Elive 0.4.9.0 وهي قرص ليزري واحد.
Arch Linux
توزيعة Arch Linux 0.7.2 و هي قرص ليزري واحد.
PuppyLinux
توزيعة Puppy Linux 2.02 و هي قرص واحد.
MEPIS
توزريعة SimplyMepis 6.0 و هي قرص واحد.
توزيعة Berry Linux 0.73 و هي قرص واحد.
Linux XP
توزيعة Linux XP 2006 و هي قرص واحد.
توزيعة FreeSpire 1.0.13 و هي قرص واحد.
نظام تشغيل FreeBSD 6.0 و FreeBSD 6.1 وهو أشهر أنظمة BSD وأكثرها استخداماً. كل منهما عبارة عن قرصين ليزريين.
نظام تشغيل PC-BSD 1.1 و PC-BSD 1.2 و هو عبارة عن نظام تشغيل مبني على (و متوافق مع) FreeBSD. من مزاياه سهولة الإستخدام, و إمكانية الترقية الشاملة دون حاجة إلى إعادة التنصيب.
Plan9
نظام تشغيل Inferno و هو قرص واحد يمكن إقلاعه و يمكن تشغيله أيضا من على أي نظام تشغيل متوافر مسبقا. النسخة هي الإصدار الرابع (2006).
Other
نظام تشغيل ReactOS 0.2.9 وهو نظام تشغيل حر متوافق مع نظام تشغيل ويندوز. وهو قرص ليزري واحد يحتوي على نسخة تعمل مباشرة من السيدي ويحتوي على ملف iso لنسخة التنصيب.
شنطة Dubai eGovernment
قام luay بإضافة هذة الشنطة. المحتويات هي:
Windows XP Professional 64 Trial version و هو cd واحد.
Windows Vista RC3 و هو قرص dvd واحد.
Mac OSX 10.4.6 و هو قرص dvd واحد لمعماريّة x86.
Mac OSX 10.4.7 و هو قرص dvd واحد لمعماريّة x86.
توزريعة Fedora Core 6 لمعماريّة AMD64 و هي قرص dvd واحد.
توزريعة Ubuntu 6.10 لمعماريّة x86 (سيدي واحد).
توزريعة Suse Linux 10.1 لمعماريّة AMD64 و هي قرص dvd واحد.
توزريعة Suse Linux 10.1 لمعماريّة x86 و هي قرص dvd واحد.
سيدي الإضافات لتوزيعة Suse 10.1 (جافا, فلاش, إلخ..) و هو إلى حد علمي يعمل على AMD64 و x86.
Java
قرص واحد عليه: JDK 6 و JDK Docs و Netbeans و Eclipse.
Windows
نسخة Windows XP (لسا ما اتأكدت شو نوع النسخة بالضبط) باللغة الألمانية. mpcabd
Office
نسخة Office XP باللغة الأمانية.
قرص ليزري قابل للإقلاع GParted و هو عبارة عن برنامج لتقسيم و إعادة تقسيم القرص الصلب دون تدمير البيانات عليه.
قرص ليزري Windows Services for Unix و هو النسخة 3.5.
قرص ليزري Maya 7.0 for Linux.
هذا النص غير مكتمل حتى الآن-ساهم في إكماله!
فكري نحط هون عدة شغلات إلها علاقة بشكل عام بمواضيع الموقع, مثلا صفحة دليلك إلى المعلوماتية في الجامعات السورية, عن الجامعات المختلفة, و اللي عم تكتر مع الأيام, فيها حديث عام عنها و التسجيل و الفروقات بالمنهجية التعليمية, باعتبار بجوز كتير زوار بحبوا يعرفوا هيك شغلات ..و كمان مثلا صفحة عن البرمجة فيها تسلسل منطقي للمصادر من كتب و مواقع انترنت اللي الواحد لازم يستفيد منها, مع وصلات للمحلات المنيحة, و بشكل عام شغلات من هي النوعية ..مع التركيز انو النص بالعربي, أو على الأقل جنب عربي جنب انجليزي, باعتبار غالبية الويكي انكليزي.
المعلوماتية في الجامعات السورية. تحتوي هذة الصفحة على معلومات عن الجامعات السورية المختلفة, الحكومية و الخاصة, مع معلومات عن القبول و التسجيل و المناهج.
informatics_in_syrian_universities
الصفحة غير مكتملة.
لا نتحمّل أيّ مسؤوليّة عن دقة المعلومات الواردة هنا. ربما (على الأغلب) هناك أخطاء. راجع و تأكد بنفسك من الجهات المعنيّة.الصفحة قد لا تعكس النظم الحديثة. راجع الجهة المعنيّة قبل إتّخاذ القرار.
ستحتوي الصفحة إن شاء الله : معلومات عن الجامعات بشكل عام, و المناهج تبعها, يكتبها طلاب من هي الجامعات أو ناس مهتمين. النقاط المقترحة : الموقع (المكان), الأساتذة, المنهاج, التسجيل, التكلفة, الإعتماديّة من قبل الدولة, الموقع (على الانترنت), أي نقاط اخرى مهمّة.
الصفحة الهدف منها مساعدة طلاب البكالوريا, أو اللي بدن يسجلوا معلوماتية, على اتخاد القرار, لهذا المعلومات لازم تكون موضوعية و حيادية.
المعلوماتيّة ليست "طقطقة أزرار على الكمبيوتر".
المعلوماتيّة ليست البرمجة فحسب.
المعلوماتيّة فرع واحد.
المعلوماتيّة صعبة و معقّدة.
هنالك عدد من المصطلحات المستخدمة.
المصطلحات الإنجليزيّة:
في بداية عصر المعلوماتيّة (في الخمسينات) كان المصطلح المستخدم هو Computer Science و ذلك يعكس الإعتقاد القديم إن التحدي هو في بناء الحاسب نفسه, و أن ما يتلو ذلك سهل. فيما بعد, عندما أصبح بناء العتاد أمرا هيّنا و ميسورا, و تبين حجم العمل المطلوب لبناء البرمجيّات و التفكير في الخوارزميّات, أصبح المصطلح المفضّل هو Computing Science للتدليل على أن الفرع يتعامل مع الحسابات باستخدام الحاسب و ليس بالضرورة مع تصنبع الحاسب نفسه, لكن المصطلح القديم Computer Science هو الشائع الإستخدام
هنالك الكثير ممن يعتبرون إسم Computer Science خاطئا و مضللا للطلاب الجدد, لكن الإسم قيد الإستعمال و قد شاع و انتشر. يرى معارضوا هذة التسميّة أن القسم الثاني منها خاطئ حيث أن المعلوماتيّة ليست علما على الإطلاق, بل هي قريبة جدّا من الرياضيات التي ليست علما هي الاخرى بطبيعة الحال (لكن ليس معنى ذلك أنّها غير مفيدة ..). أيضا الكثيرون من المعلوماتيين البارزين يرون أن القسم الأوّل من الإسم خاطئ أيضا : المعلوماتية ليست بالضرورة مرتبطة بالحواسب, و يقول Edsger Dijkstra أن علاقة المعلوماتية بالحواسب شبيهة جدّا بعلاقة علم الفلك بالتلسكوبات. المعلوماتيون يستخدمون الحواسب للتوصل إلى نتائج معيّنة و لدراسة الخوارزميّات و تصرفاتها, تماما كما يدرس الفلكيّون الكواكب و النجوم باستخدام التلسكوبات.
هنالك عدة أقسام للمعلوماتيّة, كلها مترابطة معا و تعتمد على بعضها. يمكن غالبا لخريجي المعلوماتية التخصص في أحد هذة الأقسام : العتاديّّات (بناء الحواسب), البرمجيات (و هنالك أقسام عديدة متضمّنة هنا, منها الذكاء الصنعي و تصميم لغات البرمجة و نظم المعلومات). كل فروع المعلوماتيّة مترابطة سويّا.
المصطلحات العربيّة:
يسمى الفرع بشكل عام في اللغة العربية بـ المعلوماتية, و يسمى أحيانا بـ المعلوميّات للدلالة على أساسيّة التعامل مع المعلومات.
هنالك عدّة فروع من المعرفةيحتاجها طالب المعلوماتيّة.
1) اللغة الإنجليزيّة. غالبية المراجع باللغة الإنجليزية و اللغة الإنجليزية هي اللغة الام للمعلوماتية : حتى في الأيّام الأولى (الخمسينات) كانت جميع الأبحاث تنشر بالإنجليزيّة, و كانت هي اللغة المستخدمة في جميع المؤتمرات حتّى عندما كان جميع الحاضرين من متحدثي لغة اخرى. من الأسباب الإضافية التي تحثّك على تعلم الإنجليزيّة نقص المراجع العربيّة (و ردائتها) و نقص المصطلحات العربيّة.[1]
2) الخوارزميّات و الجوانب ال"نظريّة" الاخرى في المعلوماتيّة هي رياضيّات بحته; في الحقيقة هنالك تقاطعات كثيرة لعمل الرياضيّاتيين و علماء الحاسب.
في سوريا, هناك الآن عدد من الخيارات المحليّة للطلاب الراغبين بدراسة المعلوماتيّة. هناك الجامعات الحكومية الأربع لخريجي الشهادة الثانوية الجدد (الحائزين على المعدّل المطلوب بالطبع
) و هناك عدد من الجامعات الخاصّة في أماكن متعددة, و هناك التعليم الإفتراضي. يتعلق اختيارك لجامعة بعدد من المعايير, منها مثلا سنة الحصول على الشهادة الثانوية (FIT و HIAST لا تقبلان إلا الخريجين الجدد), معدلك في الشهادة الثانوية (غالبية الجامعات المذكورة لها مفاضلات), مدى تفرغك للدراسة (الجامعة الإفتراضية مثلا لا تشترط الدوام), قدراتك الماديّة (بعض الجامعات يكلف التسجيل بها الكثير من النقود سنويا, و تتراوح الأقساط),المكان الذي تقطن فيه (دمشق, حلب, غير ذلك ..), اللغة التي تحب أن تدرس فيها (AEU تدرس باللغة الإنجليزيّة حصرا),و غير ذلك.
2.1.1 جامعة دمشق
المكان : في منطقة البرامكة في مدينة دمشق.
النظام الدراسي : سنوي, إذا أكمل الطالب كل المواد في سنته ينتقل للسنة التالية. يمكن له أيضا أن ينتقل إذا كان عدد المواد التي رسب فيها أصغر أو يساوي 4, حيث يقدّمها الطالب في السنة التالية. عدد السنوات الدراسيّة خمسة.
التكلفة : التعليم مجّاني للحائزين على المعدّل المطلوب في المفاضلة العامّة, و مدفوع للحائزين على المعدّل المطلوب في مفاضلة التعليم الموازي.
التدريس:تعطى محاضرات في أيّام الأسبوع, و يحضرها الطلاب حيث يمكنهم السؤال عن الأشياء التي لم يفهموها بعد إنهاء المدرّس للشرح. يعتبر التدريس في هذة الكليّة الأفضل بين كليّات القطر (بعد HIAST), و يحصل خريجوها على الكثير من فرص العمل.
تعطى مادّة CS1 (البرمجة 1) باستخدام باسكال. يسبب هذا الأمر بعض الإزعاج للطلّاب, حيث أن باسكال لم تعد اللغ السائدة في تعليم مقرر CS1. صحيح أنّها كانت سائدة في الثمانينات و التسعينات, لكنّ غالبيّة الجامعات الأجنبيّة الآن تستخدم جافا, و الجامعات الراقية منها تستخدم سكيم أو بايثون.
القبول :على الطالب حيازة شهادة ثانوية عامّة صادرة في نفس سنة المفاضلة, و على المطلوب للمفاضلة. هناك مفاضلة التعليم العام, و مفاضلة التعليم الموازي. التعليم العام مجّاني و الموازي مدفوع الثمن. يمكن أيضا للطلاب الأوائل في IICE التسجيل في السنةالثانية في FIT.
الإعتراف العلمي : الجامعة تابعة لوزارة التعليم العالي و معتمدة من قبلها.
المدرّسون : أغلبهم من HIAST. بشكل عام, التدريس جيّد.
الموقع الإلكتروني : (لا يوجد !؟)
2.1.2جامعة حلب
2.1.3 جامعة البعث
2.1.4 جامعة تشرين
2.1.5 المعهد العالي للعلوم التطبيقيّة و التكنولوجيا HIAST
المكان : في مدينة دمشق.
الموقع الإلكتروني : http://www.hiast.edu.sy
التدريس: الحضور إلزامي يوميّا من التاسعة للخامسة مساء. التدريس ممتاز.
القبول:
المعاهد الحكوميّة IICE2.1.6 المعهد المتوسّط لهندسة الحاسبات IICE
التعليم المفتوح في الجامعات الحكوميّة OL
2.1.7 التعليم المفتوح في جامعة تشرين (الهندسة المعلوماتيّة)
المكان : تعليم مفتوح (يوم في الأسبوع حضور) في مدينة اللاذقيّة.
الحالة : تمّ إيقاف هذا البرنامج بشكل دائم.
2.1.8 التعليم المفتوح في جامعة حلب (المعلوماتيّة و التطبيقات الإداريّة)
المكان : تعليم مفتوح (يوم في الأسبوع حضور) في مدينة حلب.
الحالة : تمّ إيقاف هذا البرنامج بشكل مؤقّت.
التعليم الإفتراضي Virtual Learning
2.1.9 الجامعة الإفتراضيّة السوريّة SVU
المكان : مقرٌّها في قبو وزارة التعليم العالي.
النظام الدراسي : هنالك عدد من البرامج المتعلقة بالمعلوماتية التي يتم تدريسها هنا. منها الدبلوم الوطني العالي في المعلوماتية و التطبيقات الإدراية (تقريبا سنتان) (HND) و هندسة النظم المعلوماتية (ISE) و بكالوريوس تكنولوجيا المعلومات (BIT) و المدة هي تقريبا 4 سنوات لكل منهما. منهاج HND مشابه نوعا ما لمنهاج IICE (المعهد المتوسط لهندسة الحواسب) لكن هناك بعض الإختلافات, منها أن HND يتضمّن بعض المواد المتعلقة بالتجارة الإلكترونية و إدارة الأعمال, و ينقص بعض المواد المتعلقة بالحاسبات. BIT و ISE متشابهان, مع الفرق أن BIT يتضمن عددا من المواد المتعلقة بالتجارة الإلكترونية و إدارة الأعمال و ينقص بعض المواد الاخرى المتعلقة بالحاسب. يذكر أيضا أن منهاج ISE مشابه لمنهاج FIT لكنه ينقص المواد المتعلقة بالفيزياء و القومية و اللغة العربية و يبدأ التخصص فيه في فترة أبكر. لمزيد من المعلومات مراجعة قائمة المواد لكل إختصاص على موقع الجامعة الإفتراضية. ليس هناك فترة محددة لإنهاء BIT أو ISE لكن الحد الأدنى 4 سنوات و الأعلى 8 سنوات تمشيا مع القرارات السارية في الجامعات الاخرى. يمكن لخريجي HND أو IICE الإكمال في BIT أو ISE. يمكن أيضا للمنتقلين من الجامعات الاخرى الإكمال في BIT أو ISE بعد إجراء المعادلة, على إن BIT متوافر حاليّا لحد السنة الثالثة و ISE لحد السنة الأولى, حيث إن بقية المناهج لم يتم إكمالها. يذكر أيضا أن الجامعة تعتمد نظام الفصول و ليس السنوات, و هكذا هناك فصل جديد كل بضعة أشهر للطلاب الجدد.
التكلفة : تزداد تكلفة المادة حسب عدد الوحدات لكل مادة. المواد الأصعب أغلى. غالبا عدد الوحدات في المادة يتراوح بين 3 (للمواد العادية) و 9 (للمشاريع). تكلفة السنة الواحدة في BIT هي حوالي 55 ألف ليرة سورية بفرض أن الطالب لم يرسب في أي مادة. في حال الرسوب يعاد دفع الرسم. تكلفة السنة الواحدة في ISE تقديريّا هي 70 ألف ليرة سورية بفرض أن الطالب لم يرسب في أي مادة. هنالك تكلفة إضافيّة لمادّة اللغة الإنجليزيّة.هنالك حسم خاص لأبناء أعضاء نقابة المعلمين. راجع للمزيد من المعلومات.
التدريس : تعتمد الجامعة الإفتراضيّة على مبدأ التعلّم الذاتي من قبل الطالب. هنالك غالبا حصّة واحدة في الأسبوع لكل مادّة يتم تدريسها. أو حصتان بحسب درجة صعوبة المادة.يناقش الطالب أي أسئلة لديه في هذة الحصص, و ليس على المدرّس أن يشرح الدرس, بل عليه فقط الإجابة على أسئلة الطلاب. جميع الحصص تتم عبر الإنترنت باستخدام برنامج تحاور خاص. جميع الكتب الدراسيّة تسلم على شكل ملفّات pdf يتم تحميلها من الإنترنت. يمكن إرسال الأسئلة و للمدرّس عن طريق البريد الإلكتروني. يحتاج الطالب إلى خط ISDN أو ADSL للحضور التفاعلي و إلى نظام تشغيل Windows (أيّ نسخة حديثة) أو يمكنه لاحقا تحميل الجلسة و حضورها مسجّلة حيث يتم تسجيل جميع الجلسات. إذا أراد الطالب حضور الجلسة و لم يكن لديه خط أنترنت سريع, يمكنه الحضور من أحد مراكز النفاذ, و هي مراكز للدخول على الأنترنت مزودة بخطوط سريعة و مخصصة لطلاب الجامعة الإفتراضية حيث يمكنهم الإستفادة منها مجّانا. هناك 4 مراكز نفاذ في دمشق (أحدها في مبنى وزارة التعليم العالي) و عدد في المحافظات. الإمتحانات تتم في مراكز النفاذ و هي مؤتمتة. يمكن للطلّاب عبر العالم التسجيل في الجامعة. هنالك مركز نفاذ إقليمي في دبي يقدم فيه الطلاب في دولة الإمارات العربيّة المتحدة امتحاناتهم.يمكن للطلاب في الإماكن الاخرى من العالم تقديم الإمتحانات من منازلهم بعد تركيب كاميرا webcam للتحقق من عدم حدوث محاولة غش.
تستخدم البرامج المختلفة لغات برمجة متنوّعة.
تُدرّس جافا في ISE لـCS1 و سي++ لـCS2, و تدرّس Visual Basic في BIT, لمقرر CS1.
القبول : هناك مفاضلة, لكنها كانت شكلية في السنوات الأولى لقلة عدد المتقدمين و على الأغلب ستبقى شكلية لعدة سنوات اخرى. يقبل الطلاب الحائزون على شهادة الثانوية العامّة الفرع العلمي للمفاضلة.
الإعتراف العلمي : الجامعة تابعة لوزارة التعليم العالي و معتمدة من قبلها.
المدرّسون : من FIT جامعة دمشق و HIAST و غير ذلك. لمعرفة قائمة بالأسماء و تحميل المحاضرات المسجّلة لكل منهم, راجع هذة الصفحة.
الموقع الإلكتروني : www.svuonline.org و هو متوفّر باللغات العربيّة و الإنجليزيّة و الفرنسيّة. بعض المعلومات عليه قديمة. راجع في المقر الأساسي أو عبر البريد الإلكتروني أو الهاتف.
المكان : أوتوستراد درعا, غباغب على بعد 37 كيلومتر من مدينة دمشق.
النظام الدراسي : لغة الدراسة هي اللغة الإنجليزيّة. هنالك اختصاصان مرتبطان بالمعلوماتيّة هما "المعلوماتيّة" و "هندسة الحاسوب و الإتّصالات".
تستخدم لغة سي++ في تدريس مقرر CS1 و لغة سي# لمقرر CS2.
الإعتماديّة من قبل الدولة : الجامعة معتمدة من قبل وزارة التعليم العالي. و يذكر موقع الجامعة : الجامعة العربيّة الأوربيّة هي جامعة محدثة بموجب المرسوم 193 تاريخ 7/5/2005 وأنظمتها وخططها الدراسية ستكون معتمدة ومصدقة من قبل وزارة التعليم العالي في الجمهورية العربية السورية، كذلك الأمر بالنسبة لشهادات تخرج الطلاب، وبالتالي فاعتمادية AEU المحلية قائمة بامتياز .أما بالنسبة للاعتمادية الدولية فسيكون الاختيار للطالب بالقرار في الاختصاص والجامعة الأوربية الأنسب في مطلع السنة الدراسية الثانية وذلك حسب تفوقه ضمن المعايير التي تضعها الجامعة الأوربية الشريكة في مقررات السنة الأولى.".
الموقع الإلكتروني : http://www.aeu.ac.sy
2.2.2 جامعة المأمون الخاصّة للعلوم و التكنولوجيا MUSTاموقع الإلكتروني : http://www.mustonline.com/index.htm
2.2.3 جامعة القلمونالموقع الإلكتروني : http://www.uok.edu.sy/uok/index.htm
2.2.4 جامعة الإتّحادالموقع الإلكتروني : http://www.uu-sy.com
2.2.5 الجامعة الدوليّة الخاصة للعلوم و الكتنولوجيا IUSTالمكان : اوتوستراد درعا, غباغب.
النظام الدراسي : تعتمد الجامعة نظام الساعات. هناك عدة فروع في IUST تتعلق بالمعلوماتيّة. أوّلها هو قسم "هندسة الحاسوب" في كليّة الهندسة و التكنولوجيا (عدد الساعات المعتمدة 162), و هنالك أيضا أقسام "برمجيّات الحاسوب, "علم الحاسوب", و "نظم المعلومات الحاسوبيّة" في كليّة تكنولوجيا المعلومات (جميعها لها عدد الساعات المعتمدة نفسه, 132 ساعة).
التكلفة :
التدريس :
القبول :
الإعتراف العلمي : الجامعة معتمدة من قبل وزارة التعليم العالي.
المدرّسون : من FIT و HIAST و غير ذلك.
الموقع الإلكتروني : http://www.iust.edu.sy
الهواتف : "2094 011 0963+" و "2094 015 0963+" .
2.2.5 الجامعة السوريّة الدوليّة الخاصّة للعلوم و التكنولوجيا SIUST
الموقع الإلكتروني :http://www.siust.edu.sy
- ملحق:
-- مواضيع متعلقة :
أسئلة طرحها طلبة الثانوية العامة الراغبين بدراسة المعلوماتية في سوريا
الرجاء مراعاة قواعد المشاركة، عند وجود أي أسئلة أخرى طرحها بمواضيع جديدة.
1- أسئلة عن إختصاص المعلوماتية
2- المعلوماتية في معهد البحوث العلمية
3- المعلوماتية في الجامعة الإفتراضية.
4- مميزات أقسام الشبكات والبرمجيات والذكاء الصنعي.
5- الطب أم الهندسة المعلوماتية؟
6- ما هي فرص عمل خريجي كلية المعلوماتية.
8- كيفية دراسة الشهادة الثانوية
هادا دليل لطلاب المعلوماتية لجميع السنوات
وكوني كنت سنة أول حبلش حط معلومات عن المواد يللي بالسنة الاولى وذلك حسب رأي الأعضاء هون يلي بالمنتدى:
المواد:
مبادئ عمل الحاسب:
الدكتور المعطي : الدكتور زهير صندوق .
العملي : الأنسة فرح حمشو
علامة العملي :30
نظام أسئلة النظري : مؤتمتة.
الوصف (من العضو rash88):
الدكتور زهير صندوق والدكتورة ريما شعبان الكتاب بيتألف من فصولة ممتعة وفصولة جامدة
أهم شي القراءة المركزة فيها وربط الأفكار بين الأبحاث كلها, البحث التاني والتالت بدهن متابعة أثناء السنة وبعتقد المادة بدها حضور لأنو بيجي أسئلة من يلي بيحكيه الدكتور
70 نظري و30 عملي بتحكي المادة عن بنية الحاسوب ومبدأ عمله
2)ترميز المعلومات هاد البحث مهم كتير وأكتر من هيك ممتع ، والدراسة لهاد البحث بتكون من الكتاب ومن نوطة بتعطيها المهندسة ريما
3)الفصل التالت مكونات الحاسوب المادية و مبادئ عملها هاد البحث أهم بحث مشان الفحص أما الرابع معلوماتو بسيطة(محيطات الحاسوب) والخامس فيه معلومات بين الأسطر بدو الواحد يستخرجها والسادس عن الشبكات المادة مؤتمتة بتتكرر شغلات بسيطة من أسئلة الدورات بتصور 5 أيام لدراسة المادة قبل الفحص كافيين
وفي نوطة منزلة هون عالموقع كمان ممكن تفيد
التحليل 1 و2:
الدكتور المعطي : الدكتور محمد الخطيب والدكتور عبد الله العمر(التحليل 1) والدكتور محمد الخطيب والدكتورة سلافة العلي (التحليل 2).
العملي : الدكتور محمد الخطيب والدكتور عبد الله العمر(التحليل 1) والمهندسة :هدى حبش (تحليل 2).
علامة العملي :20
نظام أسئلة النظري : نظام فرنسي (غير مؤتمتة).
الوصف (من العضو rash88):
المادة سهلة ومافيها كمية للدكتور محمد الخطيب ما في داعي للكتاب 80 نظري و20 عملي(النظري أخو العملي يعني منروح مرتين عالفحص مرة منقدم من20 ومرة من80) بتحكي المادة عن تقارب السلاسل وتباعدها واشتقاق واستمرار بس المشكلة الأسئلة بتكون غير متناسبة مع الموجود بالدفتر يعني كل تمرين بدو وقت طويل للتفكير مشان هيك ننصح بتمارين خارجية إن وجِد ويلي بدو مندبرلو وأسئلة الدورات كتير هامين وفي طريقة تصحيح متبعة بالتحليل إذا بتكون الطريقة كلها صح بس الجواب النهائي خطأ العلامة كلها بتروح حتى لوكانت 20 علامة(يعني متل نظام الأتمتة)
(من العضو hanihh) :
كانت التحليل من أحلى المواد عندي لأنو بحب الرياضيات
التحليل واحد كان فيها المنهاج قريب على منهاج الباكالوريا (نهايات واستمرار واشتقاق توابع إضافة إلى متتاليات وسلاسل) والمادة مو صعبة وبدها حل تمارين كتير، التمارين الخارجية كتير مفيدة والمراجع كمان مهمة وممكن تفيد ومن المراجع المقترحة ويللي كان متوافر عندي ودرست منو (calculus)
وهادا الكتاب يعد المرجع الأجنبي الأساسي إضافة إلى أنو كتب كلية العلوم والهندسة المدني ممكن تفيد كمان
والتحليل 2 هي استمرار للتحليل 1 وكانت بشكل أساسي التكامل (سلاسل التابعية في البداية وبعدين بيضل التكامل لحتى آخر السنة وطرق حسابو والتكامل المحدد وحساب مساحات)
وكمان التمارين الخارجية شغلة مهمة كتير ولازم الواحد يجيب تمارين من وين ما بيصحلو لأنو التمارين الموجودة بالمحاضرات مو كافية .
وصلات مفيدة:
الجبر العام:
الدكتور المعطي : الدكتور ناصر أبوصالح سابقاً.
العملي : الدكتور ناصر أبوصالح
علامة العملي :20
نظام أسئلة النظري :فرنسي.
الوصف : (ما كتير مهم لأنو الدكتور ترك الكلية)(من العضو rash88)
كان بيعطينا الدكتور ناصر أبو صالح والأسئلة مو كتير غريبة عن الموجود(هي المادة متل مواد البكالوريا بس بدها دراسة) بتحكي عن التطبيقات(متباين غامر....) زمر منتهية وغير منتهية,حلقات وطبعا مو مأتمتة 80 نظري و20 عملي وكمان ما في داعي للكتاب
فيزياء أنصاف النواقل:
الدكتور المعطي : الدكتور نزار شعبان .
العملي : ؟؟؟؟؟
علامة العملي :20
نظام أسئلة النظري : مؤتمتة.
الوصف:(من العضو hanihh)
المادة كانت معتة كتير ومالها أدنى فائدةفي مجال المعلوماتية ويمكن عدها من باب الثقافة العامة
تدور المادة كلها نحو الألكترون ومنغوص جواتو وبأول خمس فصول المعلومات كلها عن الالكترون وعن طبيعتو الكمومية يللي لهلأ ما فهمتها وبالفصل السادس بيكرسو المعلومات هي باستخدامها بالوصلة بين نصفي النواقل ومنشوف شو بيصير لما منساوي هيك وصلة والمحاضرات هامة كتير ومنها بتجي الأسئلة غالباً
الدكتور بيطلب دراسة بحثين من الكتاب والباقي من المحاضرات والفهم يكاد يكون صعب كتييييير
ومتل ما قلت أنو المادة بمجالنا مالها مهمة بس بغير مجالات ممكن تكون مهمة كتير متل هندسة الالكترونيات والاتصالات
بالعملي أخدنا فصلين وكان العملي سهل نسبياً وممكن ينجاب فيه علامة عالية.
الوصف (من العضو ray):
هي المادة أولاً النظري فيها من 80 والعملي من 20 مؤتمتة بس هون بقا الشغلة ، إذا أجتكن الخطأ يلغي الصواب يا عيني بتكون أمكن داعيتلكن على التمام
طبعاً هلأ أنتو فايتين على الكلية جديد وما بتعرفو شو هالمصطلح : هاد المصطلح يعني بشكل بسيط أنو مع كل علامة بترحلك معها علامة تانية مجاناً يعني مثلاً إذا كنت طالع من الفحص ومبسوط ( متل ما كنا بالفصل الأول ) وحاسب أنو ما يرحلك إلا 4 علامات بيقوم بيطلعو ( لسعادة الحظ ) 8 ... إن شاء الله ما بيصير معكن هيك شي بس أنا حبيت تعرفو شو هالمصطلح قبل ما تفوتو الجامعة لأنو بتذكر يوم رجعت من فحص الفيزيا كنت كتير مبسوطة وعم قول مراعينا كتير بنظام هالتصحيح أنو كل علامة بتروح هي ورفيقتها سوا ( سيران ) وما كنت أعرف هالنظام اللطيف هاد وأثره الضار بالطلاب !!!!
بالنسبة للمراجع أنا ما قربت عليها لأنو شفت المادة ما دخلها بالكلية تبعنا لا من قريب ولا من بعيد درست المحاضرات ، وفي وقتها الدكتور قلنا على بحث نقراه من الكتاب وقرينا من الكتاب، بقا يعني يستحسن تجيبو الكتاب....
بالنسبة للدراسة بقلب السنة لازم تندرس بقلب السنة لأنو مليانة وممتلية وقبل الفحص ما بيقدر الواحد ينسق هالكم الهائل من المعلومات بعقله وهي مو بس للفيزيا لكل المواد الدراسة جوات السنة أحسن
وصلات مفيدة (موضوع المناقشة)
الانكليزي 1و2
الانكليزي أسهل مادة عنا ( يمكن لقيتو هيك لأني بحب الانكليزي كتير) مناخد من كتاب من OXFORD اسم الكتاب : NEW ENGLISH FILE الكتاب كتير حلو وفي GRAMMARS متل االي كنا ناخدها بالبكاوريا ، طبعاً أخدنا بأول فصل 3 أبحاث من هاد الكتاب وبالفصل الثاني أخدنا 4 فصول الباقيين لأنو الكتاب كلو 7 فصول ،
أسئلة الفحص أجت من برات الكتاب بس منوعة بين الGRAMMAR و المفردات VOCABULARY و ال PHRASAL VERBS ووو....
الأسئلة مو صعبة بالعكس يعني كانت المادة كلها بالنسبة لألي متل الترويح عن النفس بين باقي المواد تبعنا....
بحب قلكن أخيراً بالنسبة للإنكليزي يستحسن أن تجيبو الكتاب .
البرمجة 1و2
الدكتور المعطي : الدكتور باسم قصيبة والدكتور غسان كويتر(البرمجة1) والدكتور محي الدين مراد (البرمجة 2) .
العملي : عدد من المهندسين
علامة العملي :30
نظام أسئلة النظري : فرنسي.
الوصف (من العضو rash88):
أهم شي التركيز مع الدكتور أثناء المحاضرة مليون بالمية وواحد من الدكتورين يلي بيعطوا المادة التركيز الزايد معو بأدي للنوم وبلاقي الحضور كتير مهم مالازم أبدا الإستهتار بهل المادة حتى لو كانت الأفكار يلي عم تتاخد قليلة ومو محرزة تندرس, أهم شي السؤال عن أي شي بيخطر على البال حتى لو يمكن تفكروا سخيف لأنو هي المبادئ الأساسية للبرمجة كلها وما بكفي الدراسة لحالها من الكتاب أو من المحاضرات, استنتجت آخر شي(من بعض الطلاب) المراجع كتير ضرورية أما أسماء المراجع أنا ما بعرفها لأني وقتها ما جبت شي ، وبعتقد الواحد صبح ومسا فطور وغدا وعشا يحل ويفكرحتى يصير يحل بمنامو وإذا انحملت المادة هاد مو يعني عدم فهم لأ بس يمكن يكون عدم تمرس أثناء السنة يعني بهل المادة لازم الواحد يفكر يفكر يفكر يفكر وبالتالي ياكل ياكل ياكل ياكل
30 عملي و70 نظري وأد ما فيكن تحسنوا علامة العملي لا تقصروا ولازم تهتموابالأفكار يلي بالعملي لأنو بالفصل التاني بتكون من سياق الحل بالبرمجة 2وبس10علامات من مية بتقيم شغلك عالكمبيوتر و4 للتقرير و8للحضوروالوظايف و8 مذاكرة نظريةو70 لفحص النظري الأخير لازم تنحل أسئلة الدورات مشان التمرس بس ما بيجي منهن
بالنهاية بقول المادة أكتر من حلوة وأنا ما حسيت بمتعة البرمجة1 حتى درست البرمجة2
الوصف (من العضو ray):
البرمجة 2 :
بداية العملي فيها 30 علامة أما النظري 70 علامة ..
طبعاً كفكرة بسيطة العملي علامته بتنقسم على امتحان عملي يمكن 8 علامات ومذاكرة مدري كم علامة... في وظايف كمان مدري كم علامة ، وفي علامة حضور على ما أعتقد ، إضافة لعلامة التقرير واللي هو وظيفة كبيرة شوي ( مو كتير ) بيحاولو يخلوها تشمل أغلب أبحاث الكتاب وهي عليها 4 علامات
المادة ممتعة كتير بتحتاج متابعة .. ضروري دراستها بقلب السنة وحضور محاضراتها ... يعني المتابعة مع الدكتور والانتباه التام معو بيعطو نتيجة كبيرة أنو الواحد بيطلع من المحاضرة فهمان كل شي... ( طبعاً هي الملاحظة بتطبق على كل المواد مو بس على البرمجة 2 )
هلأ محاضرات الدكتور ممتازة تمام للدراسة ، واضحة ومفهومة ، بيندرس منها بسهولة كمان الكتاب مفيد ومفهوم بس حسيت أنو النظري فيه كتير شوي أكتر من كتابة الطرق ( خوارزميات ) يعني كان كتاب البرمجة 1 أحلى منه لأنو فيه كمية نظري أقل وأكواد برامج أكتر ، بس كمان الكتاب حلو ومافي شي.... طبعاً أنو النظري كتير هذا لا يعني أنو بدو مدة دراسة كتيرة لحتى تنحفظ هالمعلومات..لأ أبداً مو هيك.... النظري فيه هو مجرد شرح ( موسع شوي ) يعني مثلاً بالملفات files and text files( بحث من أبحاث البرمجة 2 )شرحوا منيح عنها وكيفية ربط الملف بالبرنامج وكيف بيتعامل البرنامج مع الملف وهيك قصص ....
أما بالنسبة للمدة اللي لازم تتخصص للبرمجة 2 فهي شغلة شخصية ..يعني أي طالب ما بيقدر يلتزم ببرنامج دراسة طالب تاني أبداً ، هي شغلة ملكات وقدرات ، بس هي مادة بتعتمد على الفهم بدرجة 90% ... أما ال 10 % الباقيين هنن حفظ التعليمات يعني حتى مو حفظ ... شي بيجي من المران.. مثلاً تعليمات ربط الملفات ببرنامج أو فتح ملف للقراءة قبل القراءة هي اللي بتجي من المران
هلأ في بحث من الكتاب اسمو الرسم البياني فيه طلاب كان بدهن يحفظو حفظ ( حتى أنا أول ما سمعت فيه بأول محاضرة لقيت أنو الحفظ هو الطريق الوحيد لحتى حصل كم علامة منه ) بس لقيت أنو مافي مجال للحفظ هون بالمرة.... يعني إذا ما نسيت شي تعليمة من التعليمات أو شي سطر من الكود بتنسى كتابة شي كلمة أو حتى وين بدها تنكتب .... فعملية الحفظ مو فعالة بالمرة.... بالعكس ، يعني مثلاً هاد البحث نفسو في عليه بالكتاب كم مثال... لا تفكر أنو تحفظ هالكم مثال لأنو ممكن يجو نفسهن وتكون كسبت العلامة...بس كمان في احتمال أنو ما يجي نفسهن وإنما على تيهتهن ( شبيههن ) وهون بتكون خسرت علامات إذا كنت قد حفظت الكود عن ظهر قلب !!!! هلأ السؤال الذي يطرح نفسه إذا ما حفظنا شو بدنا نساوي ؟؟؟
الجواب أنو تفهم كل شغلة لشو، وكيف صارت ، ليش انكتبت ، وشو بيصير إذا ما انكتبت.... لحتى تعرف كل كلمة شو الجدوى منها وهيك ما بتعود بتنسى شي...
أسئلة الدورات مفيدين بكل المواد وخاصة بهي المادة لأنو ممكن تاخد فكرة كيف بتجي الأسئلة وشو طريقتها و تقسيم العلامات... يعني بتاخد فكرة عن ورقة الفحص قبل ما تتفاجأ بطلتها البهية يوم الامتحان...
الفائدة ( برأيي ) كتير مفيدة ... يعني بصراحة هي المادة اللي حسستني أني داخلة كلية معلوماتية... بتعتمد على المنطق والتفكير وبظن انو بتفيدنا بكرا بالبرمجة 3 وووو.....
هاد كل شي عندي ..
الجبر الخطي :
الدكتور المعطي : الدكتور عبد الله العمر (نظري + عملي) .
علامة العملي :20
نظام أسئلة النظري : فرنسي.
الوصف:(من العضو hanihh):
المادة تتلخص بكلمة المصفوفات (يعني مادة رياضيات تانية)
بندرس كل شي عن المصفوفات وكل العمليات يللي ممكن تتعلق فيها والمادة مالها كبيرة والدكتور بيجيب من أسئلتو وفيها أبحاث متقدمة بس ما أخدناها متل الفضاء الشعاعي
وعلى هوا قولة الطلاب من السنوات المتقدمة المادة مهمة بس ما بعرف بشو
دراستها حلوة وما بدها دراسة جوات السنة
بيكفيها قراءتها مرة وقت العملي ومرة وقت النظري لأنو النظري نفسو العملي
المحاضرات شغلة أساسية بالمادة والدكتور ما بيطلع عنها بأسئلتو حتى أحياناً بيجيب التمرين متل ما هو يللي بالمحاضرة
وصلات مفيدة (هون)
الأسئلة كانت صعبة نوعاً ما وغالبها إجى بيعتمد على البصم مو على الفهم يعني لازم الواحد يكون حافظ الأسئلة حتى يجيب علامة محرزة
الدارات الكهربائية والالكترونية:
الدكتور المعطي : الدكتور نوار العوا والدكتورة نداء سلمان .
العملي : عدد من المهندسات
علامة العملي :30
نظام أسئلة النظري : مؤتمتة.
الوصف (من العضو hanihh):
الدارات الكهربائية والالكترونية:
المادة كانت عنا متل الهم فتنا عليها بوهم أنو السنة الماضية كانت نسبة النجاح 0%وبلشنا فيها ونحنا خايفين منها
كانت المادة معتة جداً وطريقة التدريس سيئة للغاية والإعطاء أبداً مو منيح وبعد شي أربع محاضرات ما عدنا فهمنا شي ويئسنا من المادة وحسينا بمدى صعوبتها
بس لما حضرنا عند العميد (الدكتور الآخر للمادة)
حسينا أنو المادة ممكن تنفهم وممكن الواحد يحبها
صحي هي كانت صعبة كتر وفيها كتير شغلات صعبة بس الحمد لله إذا الواحد درسها متل العالم وعرف من وين يدرسها ممكن ينجح فيها ويجيب معدل كمان
المادة من أسمها دارات كهربائية والكترونية يعني مناخد فيها كل شي يتعلق بالكهربا
النظري هو عبارة عن معلومات مجردة مو ممكن تتخيلها وقد تكون صعبة في بعض الأحيان وتعجيزية في بعض الأحيان
والعملي كنت مفكرو أننا بدنا نشتغل على دارات حقيقية إدامنا ومكثفات ووشائع وترانزستورات بس ما طلع في شي من هاد
العملي كان كلو عبارة عن برنامج أسمو workbench هادا البرنامج بيسمحلك أنو تساوي دارات وتشوف شلون بتشتغل
الوصف (من العضو ray):
طبعاً برنامج WORKBENCH بالعملي مرة بيشتغل و 10 لأ ليش الله أعلم!!!
بصراحة المادة مو سهلة بس بدها متابعة 100% وقتها ممكن يمشي الحال فيها ، طبعاً غير المعلومات المجردة اللي بتحويها هي عبارة عن مسائل ، عن كل بحث بالكتاب في شي 4 أو 5 مسائل لهلأ ما عرفت حلون ،أحياناً إذا بتركز بدراسة المحاضرة وبتبلش تفهم بترتفع معنوياتك فرد مرة ، بتقوم بتجي شي مسألة لطيفة ظريفة بتعد أدامها شي ساعة زمان وبالاخير كأن شيئاً لم يكن وما بتنحل معك بتقوم معنوياتك بتنـــــــــــــــــــــــــــــزل ، بس أهم شي ما تيأسو مع أنو الكلام اللي انكتب عن هالمادة ما بيأس بنوب
بس يمكن إذا بلشتو فيها من أول الفصل و أنتو عم تحلو وتفهموها يمشي حالكن معها ، كمان ممكن تصير من المواد المفضلة عندكن ( مع أني بستبعد هيك شي ) (((إذا حدا عندو إضافة يكتبها ولا يستحي ,يمكن استخدام زر تحرير في صفحة الويكي)))
| جامعة دمشق-كليّة الهندسة المعلوماتيّة | mpcabd |
| جامعة حلب-كليّة الهندسة المعلوماتيّة | |
| جامعة تشرين-كليّة الهندسة المعلوماتيّة | DarkSide |
| جامعة البعث-كليّة الهندسة المعلوماتيّة | |
جامعة دمشق-كليّة هندسة الحاسبات | |
| جامعة حلب-كليّة هندسة الحاسبات | elias(?) |
| المعهد العالي للعلوم التطبيقيّة و التكنولوجيا | |
| معهد الحاسوب في دمشق | |
| معهد الحاسوب في حلب | |
| الجامعة العربيّة الأوربيّة | |
| جامعة القلمون | |
| مراكز نفاذ الجامعة الإفتراضيّة في دمشق | |
| مراكز نفاذ الجامعة الإفتراضيّة في حلب | |
| مركز نفاذ الجامعة الإفتراضيّة في درعا | Ben Adam |
| مركز نفاذ الجامعة الإفتراضيّة في حمص | |
| مركز نفاذ الجامعة الإفتراضيّة في حماة | |
| ملاحظة : الكليّات التي ليس أمامها أسماء لم يتقدّم أحد لتعليق الملصق فيها. الاسماء التي أمامها (؟) تدل أن المتقدّم ليس من طلّاب الكليّة لذا قد يواجه صعوبات. يفضّل المتقدمون من طلّاب الكليّة نفسها. إذا كانت هناك كليّات غير مذكورة, يمكنك زيادتها. يرجى وضع الإسم على الجدول + تعليق في الصفحة للتأكد أن المتطوّع نفسه وضع إسمه و لم يقم شخص آخر ب"تطويعه" دون علم منه. |
هذة ترجمة غير مكتملة لكتاب How to Think Like a Computer Scientist : Programming with Python . موقع النسخة الانجليزية هو هذا .
list_of_terms
تصف هذة الصفحة المصطلحات المستخدمة في هذه الترجمة . لم يتم بعد إلحاق كافة المصطلحات المستخدمة بهذة الصفحة.
من الأفضل إعتماد "معجم مصطلحات المعلوماتيّة" الصادر عن الجمعيّة العلميّة السوريّة للمعلوماتيّة SCS كمصدر للمصطلحات التي ستستخدم في هذا النص. يشار إلى هذا المعجم من الآن فصاعدا بــDITT, و منه تأتي المصطلحات المعتمدة.
shell : مَظرف. ناقشنا سابقا الإحتمالات التالية : شل أو مفسر الأوامر أو موجه الأوامر أو الغلاف أو الصدفة.
shell script : إخطاطَة مظرفيّة.
object : غرض. ناقشنا سابقا الإحتمالات التالية : "كائن" و يمكن أيضا إستخدام "غرض" مع العلم أنّ "غرض" هو المصطلح الشائع على أنّ "كائن" أدق.
object-oriented programming : البرمجة غرضيّة التوجه. ناقشنا سابقا : البرمجة كائنيّة المنحى.
procedure : إجراء. ناقشنا سابقا : إجرائيّة.
appliaction : تطبيق.
cyberspace : فضاء سيبَري.
data :معطَيات.
data abstraction : تجريد المعطيّات.
data structure : بنيّة معطيات.
data type : نوع معطيات.
code : رٍمَاز.
information :معلومات.
iNTRO
يدين هذا الكتاب بوجوده للتعاون الذي جعلته شبكة الانترنت و حركة البرامج الحرة ممكنا . المؤلفون الثلاثة, و هم مدرس جامعي , و مدرس في ثانوية , و مبرمج محترف , لم يلتقوا وجها لوجه حتى هذة اللحظة . لكنهم تمكنوا من أن يتعاونوا معا بشكل وثيق , عبر شبكة الانترنت , كما ساعدهم الكثير من الأشخاص الرائعين الذي تبرعوا بوقتهم و مجهودهم لكي يحسنوا هذا الكتاب . و نحن نعتقد بإخلاص أن هذا الكتاب هو شهادة حية على المنافع و على الامكانيات المستقبلية التي يحملها هذا النوع من التعاون , الذي وضع إطاره العام ريتشارد ستولمان و مؤسسة البرامج الحرة (Free Software Foundation ) .
في عام 1999 , تم تغيير اللغة المستخدمة في إمتحان المقرر المتقدم في علوم الحاسب لطلاب الثانوية , تم تغييرها من پاسكال إلى سي++ . و كما كان الأمر في كل المدارس الثانوية عبر الولايات المتحدة , كان لهذا تأثير كبير على المنهاج الذي أدرسه في الثانوية التي أعمل بها , ثانوية يوركتاون في مدينة آرلينغتون بولاية ڨرجينيا . بما أن المقرر مدته سنتان , و قد جرت العادة أن تستخدم اللغة نفسها في السنتين , منعا لإرباك الطلاب , فقد قررنا تدريس لغة سي++ في العام الدراسي 1997-1998 ليمكن للطلاب من المتابعة بسي++ و تقديم الامتحان بها في العام الذي يليه .
بعد سنتين من ذلك , تولدت لدي القناعة أن أختيار سيمل مع بعض طلابي ال++ كلغة تمهيدية كان أمرا خاطئا . سي++ لغة برمجة قوية جدا , لا شك في ذلك . لكنها أيضا لغة برمجة صعبة جدا , في الحقيقة , هي من أصعب اللغات في التعلم و التعليم على حد سواء . لا متعلمها هانئ , و لا مدرسها خالي البال . وجدت نفسي في تلك الأيام غارقا في وحول نحو سي++ المعقد , و في وجود عدة أساليب فيها لفعل الشيء نفسه, كنت غارقا حتى العنق , بينما كان الكثير من الطلاب يغادرون أو بكل بساطة , يفقدون اهتمامهم بالمادة . و هكذا تولدت لدي القناعة أن إختيار سي++ كان خاطئا , و كان علي أن أبحث عن بديل .
أردت لغة تعمل على حواسب المدرسة التي تشغل نظام تشغيل لينوكس , و تعمل أيضا على حواسب ويندوز و حواسب الماكنتوش التي يملكها الطلاب في منازلهم . أردت لغة مفتوحة المصدر , بحيث يمكن للطلاب اقتناؤها و تشغيلها في منازلهم بغض النظر عن دخل الأسرة . و أردت لغة يستعملها مبرمجون محترفون , و لها مجتمع نشط من المطورين , لغة تدعم البرمجةكائنية المنحى (Object Oreiented Programming ) و البرمجة الإجرائية ( Procedural Programming ) أيضا . و أهم نقطة بالتأكيد هي أن تكون لغة سهلة في التعلم و التعليم . عندما تفحصت خياراتي بناء على هذة المعايير , لم أجد إلا لغة ملائمة واحدة , و كانت هي پايثون .
طلبت من مات آهرنز , وهو واحد من طلابي في ثانوية يوركتاون , أن يجرب پايثون . و بالفعل , في شهرين فحسب , تعلم اللغة , و ليس ذلك فقط , بل قام بكتابة تطبيق باستعمالها سماه پيتيكيت , مكن به أعضاء الهيئة التدريسية من التبليغ عن الأعطال التقنية عبر الشبكة . أعرف أن مات لم يكن لينهي تطبيقا على هذا المستوى بهذا الوقت القصير باستعمال سي++ . إن إنجاز مات , هو و التقييم الإيجابي الذي أعطاني إياه عن پايثون , جعلني أدرك أنها كانت الحل الذي كنت أنشده .
كانت أكبر مشكلة واجهتها بعد أن قررت استعمال بايثون عوضا عن سي++ هي عدم توفر كتاب مدرسي ملائم , أو أي كتاب عن بايثون يمكن للطلبة أن يستخدموه كمرجع للمقرر , و هنا تدخل "المحتوى الحر" للمساعدة . كان ريتشارد ستولمان قد عرفني في وقت سابق من ذلك العام إلى آلان داوني , حيث أن كلينا كنا قد تحدثنا إليه عن رغبتنا في تطوير كتب و مواد تعليمية اخرى "حرة" . "حرة" بمعنى أنه يمكن توفيرها مجانا , و نسخها و تعديلها و ترجمتها و استلهامها في أعمال اخرى دون أي قيود , على شرط واحد و هو أن العمل الناتج هو أيضا "حر" , بنفس المعنى السابق . كان آلان قد كتب كتابا اسمه "كيف تفكر كعالم حاسبات : أسس البرمجة باستعمال لغة جافا" , لاستعمال طلابه من طلبة السنة الأولى في كلية الهندسة المعلوماتية(ملاحظة1) , و هو كتاب "حر" , بالمعنى المذكور آنفا . عندما قرئت هذا الكتاب عرفت للتو أنه الكتاب الذي كنت أبحث عنه , حيث أنه كان أوضح نص رئيته في حياتي للمبتدئين في علم الحوسبة , و كان التركيز فيه على العمليات الفكرية المتعلقة بالبرمجة بشكل عام و ليس على خصائص لغة معينة . إن كتاب آلان جعل مني معلما أفضل بمجرد أن أنهيت قرائته .
كان كتاب آلان ممتازا , لكن هذا لم يكن السبب الوحيد وراء إنجذابي إليه , بل أيضا أنه كان متوفرا تحت ترخيص ال GPL , بمعنى أنه كتاب حر , يمكن استخدامه كأساس لكتب اخرى دون أي قيود . و خطر لي , بعد أن قررت استخدام بايثون في الصف الذي ادرسه أنه ربما من الممكن "ترجمة" كتاب آلان من جافا إلى بايثون و استخدامه ككتاب مدرسي , خصوصا أنه لم تكن لدي في ذلك الوقت لا القابلية و لا الوقت الكافي لكتابة كتاب جديد من الصفر ,و أيضا , خطر لي أنه لو نجح هذا الكتاب , فسيكون دليلا على أن النموذج التعاوني في التطوير , السائد (و بنجاح ساحق) في عالم البرمجيات الحرة يمكن أيضا إستخدامه (أيضا بنجاح ساحق؟) في تطوير المواد التعليمية .
كان عملي على هذا الكتاب في السنتين الماضيتين تجربة استفدت منها كثيرا , كما استفاد منها طلابي أيضا , و أود أن أذكر أنهم ساهموا بشكل كبير في جعل هذا الكتاب ما هو عليه , حيث أنه من الممكن تعديل النص مباشرة , و كنت أعدله كلما قال لي أحد الطلاب أن مقطعا معينا مثلا صعب أو عسير على الفهم , أو كلما اكتشف أحدهم خطأ إملائيا أو مطبعيا . في الحقيقة , قدمت جائزة لكل من يكتشف خطأ في النص , و زدتها بعض الشيء مع الأيام حتى تكون حافزا لهم على القراءة بتمعن .كان الهدف بطبيعة الحال تشجيعهم على التعلم , لكن ذلك أيضا ساهم في مراجعة النص مراجعة مدققة من قبل أهم نقاده : الطلاب الذين يستخدمونه لتعلم البرمجة .
في النصف الثاني من الكتاب , و الذي يتعلق بالبرمجة كائنية المنحى (Object Oriented Programming) , أدركت حاجتي إلى شخص ذي خبرة عملية أكبر في البرمجة مني , لكنني لم أجد شخصا مستعدا للمساعدة مباشرة , و هكذا بقي الكتاب نصف-منجز لحوالي العام حتى قدم لي مجتمع المصادر الحرة مجددا المساعدة التي احتجتها : تلقيت رسالة إلكترونية من كريس مايرز عبر فيها عن اهتمامه بالكتاب , و كريس هو مبرمج محترف كان قد بدأ في تدريس مادة البرمجة (باستعمال بايثون!) في جامعة لاين الحكومية (مدينة يوجين في ولاية أوريجون في الولايات المتحدة) . كان كريس يبحث عن مواد تعليمية يمكنه استخدامها مع طلابه , و قاده هذا البحثإلى هذا الكتاب , و بدأ فورا بالإضافة إليه و تعديله ,كما أنه أضاف مشروعا جديدا إلى موقعنا سماه "برمجة بايثون المسلية" , و عمل مع بعض طلابي المتميزين كمعلم أعلى , يقودهم ألى أشياء لم أكن لأستطيع أن أقودهم إليها .
إن عملية ترجمة و أعداد "كيف تفكر كعالم حاسبات" التي قمنا بها في السنتين الماضيتين قد أكدت لي أن بايثون هي اللغة المثلى لتعليم البرمجة للمبتدئين .بايثون تجعل طرح أمثلة البرمجة أمرا سهلا جدا و تساعد المتعلمين الجدد على فهم الأفكار الجوهرية بسهولة فائقة .
يمكن استخدام أول برنامج في هذا الكتاب لتوضيح هذة الفكرة الجوهرية , البرنامج هو بطبيعة الحال البرنامج التقليدي الأول الذي يكتبه المبتدئون و قد اصطلح على تسميته ببرنامج "مرحبا !" (The "Hello , World!" Program) . انظر إلى نصه في لغة سي++ :
#include <iostream.h>
void main() {
cout << "Hello, World!." << endl;
}
و قارن ذلك بنصه في بايثون :
print "Hello, world."
صحيح أن هذا برنامج بسيط جدا , لكن حتى في هذا البرنامج يبدو تفوق بايثون واضحا للعيان . مادة البرمجة التي أدرسها في ثانوية يوركتاون ليس لها متطلبات مسبقة , و لهذا فإن برنامج "مرحبا" آنف الذكر هذا هو أول برنامج يراه غالبية الطلبة في حياتهم . بطبيعة الحال , الكثيرون منهم قلقون بعض الشيئ , و على الأغلب سمعوا الكثير من الاشاعات أن"البرمجة صعبة جدا و معقدة جدا و من شبه المستحيل فهمها " . تدريس البرمجة باستخدام سي++ كان يجبرني على القيام بأحد أمرين , و أحلاهما مر , بعد كتابة هذا البرنامج : إما أن أشرح معنى عبارات "include" و "void main" و رموز الــ} و الــ{ , ما قد يؤدي إلى إرباك الطلبة في هذة المرحلة أو حتى زرع الخوف من البرمجة في قلوب بعضهم , و إما أن أقول لهم ببساطة : "لا تهتموا بهذة الأشياء المعقدة الآن , سأشرحها لكم لاحقا , و هذا قد يؤدي إلى نفس النتيجة . الأهداف التعليمية لمادة البرمجة 1التي كنت إدرسها هي تقديم فكرة العبارات البرمجية للطلاب و مساعدتهم على كتابة برنامجهم الأول , و هذا بالضبط ما يساعدهم عليه استخدام بايثون عوضا عن سي++ .
إن مقارنة شرح برنامج "مرحبا" في نسخة با