ICS104 Intro. to Prog. in Python & C تقييم

هذا الموضوع مخصص لمناقشة المقرر المذكور في العنوان
بنود تساعد في تقييم المقرر:

جودة المقرر بشكل عام
المواضيع التي يغطيها المقرر
الكتاب المستخدم للمقرر
الأسئلة والأمثلة المستخدمة في المقرر
مدى فائدته في الناحية التطبيقية

ولكم الحرية في تقييم المقرر باستحداث بنود أخرى ترونها مناسبه لتقييمه.

كما نرجو تحري الصدق والعدل في تقييم المقرر
وعدم الخلط بين تقييم الأستاذ وتقييم المقرر بذاته

TERM 202

نظرا لعدم وجود تقييم لهذه المادة في الموقع وفيه طلاب يريدون ينزلونها الاترام الجاية , باعطيها تقييم مبدئي بحكم اني باقي ادرسها حاليا وباحدث هذا التقييم بعد انهاء المقرر

اولا هذا كورس بديل لمادة ICS103 اللي كانت تدرس سابقا , عكس ICS103 اللي كان على لغة ال C هذي المادة تعلمك لغة PYTHON اللي هي اسهل بكثير

الكورس بدايته جدا سهله بل تافهه ان صح القول يعلمونك اساسيات البرنامج كيف تجمع كيف تضرب كيف ترتيب الاوامر وال if else elif statements الخ…

اللاب عادي جدا مجرد مقدمة بسيطه للي درسته باللكتشر ويعطيك من 3 الى 4 اسأله تحلها وتسلمها نهاية اللاب ( بعض المدرسين يخلي التسليم الى اخر الليل ) اذا انت فاهم اللكتشر بيكون اللاب جدا سهل لانه مجرد تطبيق للي تعلمته

باختصار هذي الماده ارحم بكثير من ICS103 من تجربة , شخصيا نزلتها ترم 182 ودردبتها قبل الميدتيرم لاني شفتها جدا معقدة عكس ذي المادة

Term-201 online
جودة المقرر بشكل عام:
جودته جيدة تعطيك نبذة بسيطة عن لغة البايثون و تقريبا الاساسيات بحيث انك تبني عليها مستقبلا مثلا تتعلم طرق لحل معادلات او تحلل بيانات او تستخدم برامج Optimization في دراستك في التخصص حاول انك تقوي اساسك عشان تتعمق في المجال الي تهتم فيه ولكن المقرر يحتاج الى تحسين اكثر.
المواضيع التي يغطيها المقرر:
اول شي راح تاخذون كتابة الstrings و الترتيب حق العمليات الرياضية و كتابة المنطق الرياضي الي يفهمه الكومبيوتر و كيف تكبر و تصغر النصوص بالابجدية و ترتبها و كتابة متغيرات لحل مشاكل بسيطة جدا مثل ايجاد مساحة دائرة الخ. ثم راح تدرسون الif statements و الي راح تخلي البرنامج الي تكتبه قادر انه يتخذ قرار مثلا تحط امر اذا المستخدم تحت عمر ال٢١ تعطيه القرار الي تبيه و اذا اكبر تعطيه شي مختلف و بعدها بتصعب المشاكل و راح تضطر تكرر بعض الخطوات و لحل المشكلة تحتاج تستخدم while and for loops و كل وحدة لها استخدام ركزوا عليهم جدا مهمين راح يستمرون الى نهاية الكورس و اذا فهمت complex loops انت راح ترتاح كثير بعدين راح تدخلون في طريقة بحيث ترتبون الداتا في مجموعات و منها set,tuples,list dic و ذولا ادوات بحيث ترتبون البيانات ب انواعها مثلا strings,floats,integers بالطريقة الي تبونها الحين خلصتوا جزء من المنهج يبقا الfunctions و فكرتهم انهم يزيدون كفائة البرنامج و ما يزيدون التكرار فيه و الموضوع سهل جدا مش صعب يس حاولوا تفرقون بين الفاريبلز الي داخل و خارج الفنكشن كثير يجيبون عليهم اسالة و يغلطون الطلاب و بعدها راح تخشون على الكلاسس و الصراحة كان مشروح بشكل سيء جدا ولا جابوا عليه اسالة بس فكرته انك تطور ميثودز تستخدمها و يحتاج براكتس مرة كثير و بعدها بتخشون لغة السي و تكرار للي سويتوه للبايثون بس راح تكونون مرتاحين لان نفس المواضيع بس طريقة الكتابة مختلفة بشكل بسيط لكن نوعا ما اعقد مجملا الكورس متوسط لمرتفع يحتاج متابعة بشكل مستمر لان مش كل ذا راح تغطوه راح تحتاج تقوي اللوجك حق البرمجة حقك و عشان كذا راح تحتاج تحل مشاكل كثير بذكرها تحت.
الكتاب المستخدم للمقرر
الكتاب كمذاكرة للمحتوى ما عجبني لكن اسالته ممتازة عشان تفهم المقرر بيكون فيه نوعين مثلا يعطيك جزء من برنامج و يبيك تتوقع وش الناتج عنه او طريقة عمله ؟! و النوع الثاني انه يعطيك دسكريشن لمشكلة و يقلك حلها ببرنامج و ذا اهم شي لان عليها في الاختبارات كثير و عشان تتقنها تحتاج وقت منك
الأسئلة والأمثلة المستخدمة في المقرر
ممتازة جدا بس عانينا من نقص في مصادر لكن عليكم في اسالة الكتاب +اللابات و هوموركات الاترام السابقة و الاولد اقزام و باذن الله الA+ فيدك
مدى فائدته في الناحية التطبيقية
الكورس لحاله ما راح يسويلك ذاك الشي اذا ما بنيت عليه فما راح يفيدك >بيكون مفيد لو بعد المقرر توسعت في جزء يفيدك بتخصصك .
طريقة المذاكرة : افهم السلايدات و حلها و افهم السينتاكس كويس و افهم وش الفايدة منه و تعرف على جميع اجزائه اذا زاد شي او نقص شي بعدها عليكم في الكتاب وحل لين تدوخ الكورس يحتاج متابعه اول ب اول اذا تبي قريد محترم غير كذا بتدور سي او سي بلس بالكثير
بالتوفيق حاولت اغطي كل شي اقدر عليه .

جودة المقرر بشكل عام
ممتاز خصوصا للتخصصات CS SWE COE بس لازم تشتغل بعدها وتتعلم زيادة انصح ب DJANGO

بتكلم كيف تفشل بذا الكورس وتجيب قريد خايس
1- راكم الدروس ولا تتدرب بشكل يومي وقبل الميد او الميجر افتح السلايدات اضمن لك مارح تعرف تحل بالاختبار
2- لا تحل اللاب بنفسك وانسخ حلول من واحد ثاني
3-لا تحل اسئلة الكتاب PYTHON FOR EVERYONE
وبكذا اضمن لك قريد خايس
اهم شي انتبه من IF ,ELSE بتبدا البرمجه الصدقيه واذا خشيتو علىC يفضل تشوف مصادر اليوتيوب لان السلايدات ماكانت وافيه
واحرص على دكتور الاب الجيد درسي ابراهيم النمر وكان اسطوري

جودة المقرر بشكل عام
ممتاز خصوصا للتخصصات CS SWE COE بس لازم تشتغل بعدها وتتعلم زيادة انصح ب DJANGO

بتكلم كيف تفشل بذا الكورس وتجيب قريد خايس
1- راكم الدروس ولا تتدرب بشكل يومي وقبل الميد او الميجر افتح السلايدات اضمن لك مارح تعرف تحل بالاختبار
2- لا تحل اللاب بنفسك وانسخ حلول من واحد ثاني
3-لا تحل اسئلة الكتاب PYTHON FOR EVERYONE
وبكذا اضمن لك قريد خايس
اهم شي انتبه من IF ,ELSE بتبدا البرمجه الصدقيه واذا خشيتو علىC يفضل تشوف مصادر اليوتيوب لان السلايدات ماكانت وافيه
واحرص على دكتور الاب الجيد درسي ابراهيم النمر وكان اسطوري

بسم الله الرحمن الرحيم

كثير طلبوا مني أتكلم عن الكورس بحكم أني درسته مع أول دفعة وبعدين استمريت اساعد الطلاب في الدفعات الي الثانية، وعرفت أغلب مشاكلهم الحمدلله

إذا كنت تبي A+ لازم تعرف أن المادة “تراكمية” ومستحيييل أبد أنك تقدر تتجاوز واحد من الدروس وتفهم الي بعدها بسهولة
وبما أن اسم الكورس “لغة” برمجة لازم تدرسها مثل ما تدرس لغة البشر : تحتاج تفهم القواعد (الكونسبت) الي موجودة في اللكشتر والسلايدات ، وبعدين ضروري تمارس وتتدرب كثييير

طيب كيف أفهم القواعد ؟
سوا الخطوات التالية :
1- ركز مع الدكتور أو اكتب اسم القاعدة باليوتيوب وضروري تكتب جنبها كلمة Python لأن قد تختلف القواعد من لغة برمجة إلى لغة اخرى ، وبعدين شف المقدم الي يناسبك وتابع مقطعه >> ممكن مقدم يبدع بشرح درس معين ويخفق في أخر
2- افتح السلايدات وعند كل مثال حاول تحله على ورقة قبل ما تسوي run للبرنامج ، بعدين شغل البرنامج وقارن حلك بحل الكمبيوتر
3- جرب بدل المتغيرات والقيم، جرب حط نص أو رقم بفواصل، رقم بالسالب ، أوجرب تقدم أمر وتأخر أمر ( طبعا على حسب المثال ) وحاول تلاحظ ايش التغييرات الي تصير في تشغيل البرنامج
4- في قناة (بروجكتات حماد) في اليوتيوب شرح منهج جامعتنا بشكل مختصر ممكن يفيدك كمراجعة وفيها شرح حل أولد أقزام بعد ما تخلص الخطوات السابقة
5- امسح البرنامج المكتوب في المثال الي موجود بالسلايدات ، وحاول تكتب مثله من فهمك وليس من حفظك
6- في مواقع كثيرة ممكن تجيب لك أمثلة زيادة -إذا كنت باقي تحتاج- مثل :
Learn Python Programming (programiz.com)
و
PYnative: Learn Python with Tutorials, Exercises, and Quizzes
7- حل أولد أقزام بنفسك >>> انتبه ترى مستواها أصعب من مستوى المواقع المذكورة في الأعلى

فهمت الكونسبت كويييس ؟؟؟

تعال نطبق ، وأفضل مكان تتطبق فيه هو اللاب لانه ماشي بنفس ترتيب اللكشتر ، واسئلة اللاب جدا مفيدة وبتأثر بشكل إيجابي على فهمك اللكتشر ( الي يقولك غير هذا الكلام … تراه مايفهم )
الفرق الوحيد بينها وبين اللكتشر : أن اللكتشر يعطيك المعطيات والكود ، ويبغى المخرجات … بينما اللاب يعطيك المعطيات والمخرجات ، ويبغى منك الكود الي بيربط بين المعطيات والمخرجات بشكل صحيح

1- لازم تكون فاهم كونسبت اللكتشر بشكل جيد
2- لازم تحل اللاب بنفسك - ستندم على قريدك إذا فكرت تنقله من خويك أو من قوقل - : وهذي عشان اساعدك فيها نصيحة افهم السؤال كويس وانتبه تصير كسول بجيث أنك تفكر بدون ما تكتب أفكارك … كتابة الافكار على الورقة راح يختصر عليك وقت طووييل جدا ولا راح تعرف قيمة الورقة الا لما تجرب تستخدمها ، الشيء الثاني خلك كريييم ولا تبخل في استخدام امر ()print بين كل سطر وسطر لانه راح يوضح لك ايش راح يصير وكيف يمشي البرنامج
3- حل الواجبات بنفسك
4- بعد ما تتاكد من حلك ، وأن النتيجة مثل ماطلبوها : حاول تسوي اختبار بأرقام جديدة من عندك مثل أرقام سالبة أو رقم صفروالخ … دائم بالاب تست يعطونك نموذج تجارب ناقص يعني لو سويته واكتفيت فيه بتلقى نفسك ناقص درجة لان باقي ما حقق كل الشروط >> بتفهم هذي النقطة بعد ما تحل اللاب
5- اذا نقصت باللاب رح اسال الدكتور عن النقص عشان تعدل خطأك لانك بتحتاج الحل الصحيح في المذاكر بعدين
6- اذا حلك صحيح والسوال صعب ، عادي امسح حلك وارجع حله لأن هذا السؤال هو الي بيجيك في الاب تست :slight_smile:
7- هنا بعض المواقع توفر لك اسئلة مختلفة نفس مستوى لاب
Basic Python | Codewars
وميزة هذا الموقع يحدد لك صعوبة السؤال قبل ما تبدأ بس مشكلته أسماء الدروس تختلف عن الي موجود بكتابنا

وهنا موقع ثاني تقريبا نفس الفكرة : HackerRank

8- حل أولد أقزام حق اللاب تست

ملاحظة : إذا تقدر تشوف أو تتطلع على مقاطع Python في اليوتيوب قبل ما تدرس الكورس في الجامعة ترى راح يفرق معك كثيير
ملاحظة أخيرة : أول شابترين سهلة فلا تغتر فيها، يبدا الجد والصعوبة في شابتر 3و4 وهي أهم شابترين في الكورس كله

1 Like

وين احصل الold exams؟

من هنا:
Old Exams - Google Drive
KFUPM Resources

1 Like

جودة المقرر بشكل عام:
مقرر يتكلم عن اساسيات البرمجة بالــPYTHON وشوي من C++ على النهاية

1- الكتاب مهب مهم المقرر كلها مبنى على السلايدات حقت المقرر (الكومن) و نوتات نايف القحطاني تكفي احسن من الكتاب بمليون مره تفهمك الكودنق قراءة مع تركيز مع دكتورك تطلع فاهم
2- اللاب جدا سهل في البداية تكون ضايع شوي لانه المادة جديده عليك بس مع التمرين يصير اللاب بس مجرد تثبيت اللي تعلمته عكس PHYS 101 و 102 اللي حسيت بس اجي اطبق عشان انا مجبر عليها
3-لا تضيع الميد لانه سهل جدا مقارنة بالفاينل افرج الميد يجي عالي مره والاسئلة تجي سهلة مافيها تركات كثيره مقارنة بالفاينل وخصوصا انه على وقت ما ااخذت المادة كان تكتب كود على الورقة ما تدري هل نسيت تكتب هل نسيت تحط “;” او هل اللوب شغال صح
4- حاول تجرب الكود بنفسك (عن نفسي كنت اذا تعلمت شيء اخترع كود كيذا من العدم واجرب ولا اطبق على اللابت القديمة)
5- اذا تمرنت على اللاب وطلعت فاهم يصير بس مراجعتك للاولد اقزامز مجرد قراءة اكثر من حل

واخيرا الكورس هذا امتع كورس اخذتها لحد الحين مافي اي كورس حسيت اني مستمع فيها مثل هذا الكورس

الله يوفق الجميع

ICS 104 - Samir Arafat

Semester 221

المادة كانت جميلة (ابدا مب صعبة عكس التهويل اللي بتسمعونه) تعتبر المادة وسط يعني ما تحتاج مذاكرة يومية لكن كل اسبوع لازم تفتحها كم مرة وتبرمج واهم شي ((تجرب)) بنفسك

مقسمة ل 10 chapters

8 python
2 C

15 بالمية كويزات

20 بالمية لل lab (منها 12 لل lab tests و 5
لل lab project)

30 بالمية midterm
5 بالمية واجبات
30 بالمية نهائي

اول 2 chapters سهلين واغلبهم نظري لا تغتر فيهم، البرمجة الصدقية تبدا من chapter 3 و 4 وهم اهم اثنين في المادة كاملة لان ال if statements وال loops يعتبرون اساس البرمجة وبتستخدمونهم في باقي فصول المادة كثير

كنت اذاكر من سلايدات القسم حقت Jupyter لانها يمديك تقرا الشرح وعلى طول تسوي run لل code فتاخذ المعلومات بسرعة وكنت اسوي comment (شي في البرمجة يخلي الكلام المكتوب ما يشتغل ويكون بس شرح، بيعلمونكم اياه بعدين)
للاكواد المكتوبة واعيد كتابتها بنفسي عشان اعود نفسي على البرمجة وبعد كذا اروح احل ال test bank ومع انه طويل لكن ابدا ما ياخذ وقت عكس المواد الثانية ف لا يغركم طوله وكان جداً مفيد لي

بعدها اصير فاهم ال chapter وادخل على ال old exams وغالباً تكون قليلة ف احاول ادخل على ال test bank قبل عشان اعمق فهمي

طبعاً عرفات كويزاته كانت تجي نسخ لصق من KFUPM resources (اول اثنين كان يغير تقريباً سؤالين بس، باخر كويزين صار يغير اكثر)
طبعاً اذا ذاكرت يمديك تحلهم بس افضل انك ما تسجل باول سكشن عشان تاخذ الاسئلة من الطلاب اللي قبلك لانه الاسئلة اللي يغيرها تكون من اللي قبل ويخلط بينهم

لكن حتى لو كويزات عرفات سهلة لا تغتر لان كذا بتنكب في ال midterm ف ذاكر وتخيل انها صعبة عشان ما تجيب العيد في ال midterm والنهائي

الواجبات طويلة وتاخذ وقت لكنها جدا مفيدة واهم شي تحلها بنفسك

نصيحة نصيحة نصيحة، ابدا لا تنسخ الاكواد حقت ال labs لان المادة تعتمد عليهم كثير ف بتنكب اذا نسختهم، لازم تكتبهم بنفسك وحاول تجرب وتحل بنفسك وبتصير سهلة المادة عليك باذن الله (اذا مرة ما عرفت تقدر تشوف كيف الطريقة بس اهم شي تكتبها بنفسك ما تنسخ وتلصق حتى لو ماخذ الطريقة من احد)

اكبر سبب ان الناس يجيبون العيد بالمادة انهم ينسخون الاكواد + ما يذاكرون ولا يحلون old exams

ال lab test يكون على ورق (تكتب الكود على ورقة) ف ما يمديك تعرف اذا صح ولا غلط الا بمخك ولازم ال syntax حق اللغة يكون صحيح (مثل الفواصل وعلامات الترقيم) ف هنا تجي فائدة حل الواجبات واعادة كتابة الاكواد بسلايدات الشرح بنفسك + ممكن تتدرب عليها من اسئلة لابات قديمة او الاسئلة الموجودة حقت ال midterms لان المنهج نفسه تقريباً ف هذا اللي كنت اسويه واسال الناس اللي اختبروا قبلك وش جاهم

لا تشيل هم البرمجة لان عليها مستحيل تاخذ صفر فيها الا اذا خليت الورقة بيضاء والقسم يمشي فيها لكن حاول تجيب كامل فيها لانها ترفع الناس غالباً

ال lab project ياخذ وقت ف ابدا فيه من بدري لا تاخره (ابدا فيه قبلها ب ثلاث اسابيع او اكثر عشان ما تنضغط ويمديك تسال الدكتور، طبعاً هو ما ياخذ كل ذا الوقت لكن لو عندك شي وتركته ما تنكب)

طلعت ب +B فيها مع اني اهملتها بعد ال midterm ولولا اهمالي كان طلعت ب +A (المقصد ان المادة جداً مقدور عليها وابدا مب صعبة الا لو اهملتها)

طبعاً عرفات كان يتاخر حوالي سبع دقائق دائما ويجلس يحضر حول عشر دقايق ف يمشي للي يتاخر شوي + شرحه مب سيء ولا هو اسطوري يعتبر عادي

ملاحظة اخيرة:

استعملت ChatGPT وكنت اكتب له اكواد برمجة حتى لو انها غلط يصححها لي + يشرحها + يقول لي الناتج النهائي وكنت بعد اساله عن بعض الاشياء يرد علي ويشرح ليش هي كذا

استعملته للنهائي بس لان كان توه طالع يوم 30th November 2022 ف ما كان موجود وقت ال midterm اللي كان بنهاية October ولو كان موجود كان استخدمته لانه رهيب بالبرمجة

غير اني كنت احط له ال old exams واخليه يقول لي ليش الخيار الصح صح وليش الغلط غلط لكن لازم تعرفون ان ChatGPT هو برنامج ذكاء اصطناعي ومرات يختار لك اجابة غلط ويشرح غلط لكن قليل (بالبرمجة يعني دقته عالية بس مب بكل المواد) + ترى تقدر تستخدمه في اكثر من لغة برمجة

اللهم اني بريء من كل من استعلمه للغش

ملاحظة اخيرة:

كنت اشوف ملخص سلمان عالسريع كمراجعة + اشوف فيديوات عبدالله الحماد اذا مرة ما كنت فاهم او بس ابي اراجع لكن كنت اعتمد على سلايدات القسم للفهم

وتذكر

A good programmer is a good googler

يعني لازم تبحث اذا في شي ما فهمته

-AF

T241

جودة المقرر بشكل عام
صراحة المقرر كويس ماراح اكذب بهذا الشي لكن ينقصه دكاترة زي العالم يعرفون يشرحون
الي عنده خبرة في البرمجة من قبل ماراح يتعب بهذا الكورس والكورس مفيد لانه يعلمك البرمجة

المواضيع التي يغطيها المقرر

Chapter Number Chapter Topic Chapter Number Chapter Topic
CH01 Introduction To Python CH07 Strings
CH02 Variables and Expressions CH08 Lists and Dictonaries
CH03 Types CH09 Files
CH04 Branching CH10 Exceptions
CH05 Loops CH11 Classes
CH06 Functions CH12 Introduction To C PL

المفروض يحذفون جزئية ال
Introduction To C PL
صراحة شرحوها على اخر اسبوع ولا احد فاهمها دخلوها عرض في المنهج مدري وش وضعهم

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

الأسئلة والأمثلة المستخدمة في المقرر
كويسة

مدى فائدته في الناحية التطبيقية
مفيد الكورس للي وده يتعلم برمجة من اول او للي يبي ياخذ لمحة عن البرمجة

تعليقات أخرى:
صراحة الكورس ملخبط مافي اية وضوح من أول يوم المشكلة من قسمهم ماعرفو يمسكو المادة وصراحة طريقتهم غلط في غلط في تعليم البرمجة يكرهون الشخص في البرمجة مب صاحين كل أسبوع ينزلون واجبين واحد حق درجة المشاركة وواحد حق درجة الواجب وياخذون وقت مب طبيعي مكثرين أسئلة يحسبون الطالب فاضي لهم غير لاباتهم لاباتهم جدا مملة

لكن عموما الكورس يتبع نظام الكيرف فيعني مافي أية ظلم في الدرجات غير النورمالايزيشن الي يسوونه
اذا تبغا قريد كويس عليك بالاولدات

واذا تبغا تتعلم الكورس وتفهمه لنفسك عليك ب
GeeksForGeeks
Youtube
Google