1. برمجة
19

ما هي الأشياء التي يجب على كل طالب علوم حاسوب معرفته ؟

  • dexter2016
  • 2013-12-21T18:43:26+00:00
  • رابط مختصر
يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

  • الأفضل
  • الأحدث
  • الأقدم
24
م. وائل حسن- أبوإياس 2013-12-22T10:47:28+00:00 أضف ردا
  • رابط مختصر

كمبرمج سوف أنصحك بأنه من الضروري أن تفعل التالي:

  • زد من قوة لغتك الإنقليزية قدر الإمكان؛ فللأسف فإن الإنقليزية هي مصب العلم البشري عامةً و البرمجي خاصةً، و لا يمكنك متابعة الجديد (و أغلب القديم) إلا إذا كانت لغتك الإنقليزية قوية (أو علي الأقل متوسطة مثل حالتي).

  • تعلم لغة برمجة قوية، أنا أفضِّل أن تكون الـjava أو الـ#C بدلاً من الـ++C، لكن إن كنت تفضل الأخيرة أو فُرضَت عليك في التعليم فلا مشكلة، و يمكنك مراجعة مقالي الذي أوضحتُ فيه سبب تفضيلي للـjava علي غيرها:

أيهما أنسب للمبتدئين: #C أم java ؟

abo-eyas.blogspot.com/2013/06/c-java.html

سألني أحد الإخوة الأفاضل السؤال التالي (ببعض التصرف): السلام عليكم،  هناك شئٌ يُحيرني بشدة: فقد اشتركتُ في دورة microsoft الخاصة بال...

و من نافلة القول أنه يجب عليك أن تتعلم كيفية استخدام بيئة برمجة متكاملة IDE تدعم لغة البرمجة التي اخترتَها، فلو اخترتَ الـjava فيمكنك أن تتعلم بيئة الـnetbeans، و لو اخترتَ الـ#C فيمكنك أن تتعلم الـvisual studio، و هكذا. و تعلُّم بيئة البرمجة لا يعني مجرد استخدامها لكتابة البرامج فيها و تنفيذها فقط، بل يعني علي الأقل (بالإضافة إلي ما سبق ذكره) كيفية عمل تنقيح debug لبرامجك، و كيفية استغلال الإمكانيات المختلفة للبيئة لتسريع عملية البرمجة قدر الاستطاعة.

  • تعلم هندسة البرمجيات software engineering، و من الأفضل أن تقوم في البداية بالتركيز علي الأمور التي تخدمك عملياً، و أن تؤجل الأمور النظرية المحضة لما بعد. و أعني بالأمور التي تخدمك عملياً العديد من الأشياء، كنماذج التطوير البرمجية (مثل نموذج الشلال waterfull ، و البرمجة الرشيقة agile)، و الأدوات البرمجية التي ستخدمك في زيادة إنتاجيتك، إلخ. أما الأمور النظرية فأعني بها الأمور التي ليست لها علاقة كبيرة بالواقع، أو التي لا تحتاجها أنت بصفة شخصية، مثل طريقة تنظيم عمل الفرق البرمجية و إدارتها، فهذا أمر يمكنك تأجيله لما بعد الوصول لمرحلة جيدة في البرمجة بدون أن تخسر الكثير (بل و ربما لا تحتاجه من الأصل إن عملتَ منفرداً).

  • تعلم هياكل البيانات data structures، و هو من العلوم الغاية في الأهمية بالنسبة لك كمبرمج، و لا يمكن الاستغناء عنه. و يرتبط ارتباطاً وثيقاً بتعلم لغة البرمجة القوية؛ حيث أنه سيجعلك تتعمق أكثر و أكثر في تعلم تلك اللغة و تتقنها أكثر لتكون قادراً علي بناء الهياكل المختلفة.

  • تعلم الخوارزمات algorithms، و هو علمٌ له نفس ما لهياكل البيانات من أهمية. و ستجد شروحات بالعربية له علي موقع kutub.info، مثل ما علي الروابط التالية:

الخوارزميات(الجزء الأول)

kutub.info/library/book/6889

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

أساسيات الخوارزميات والمخططات الانسيابية

kutub.info/library/book/11102

السلام عليكم ورحمة الله وبركاته: إخوتي في الإسلام: أقدم لكم هذه الورقات وهي لكل من يريد أن يتعرف ويتفهم الخوارزميات والمخططات الانسيابية وفهم وحل المسائل...

http://kutub.info/library/b...

http://kutub.info/library/b...

http://kutub.info/library/b...

الخوارزميات

kutub.info/library/book/2285

كتاب يتحدث عن الخوارزميات والمخططات التدفقية.

http://kutub.info/library/b...

  • جرب مختلف أنواع أنظمة التشغيل التي يمكنك أن تجربها، لا تكتف بالـwindows أو الـgnu/linux، بل جرب هذه الأنظمة و تعود عليها، ثم ابحث عن الجديد لتجربه إن استطعت.

  • تعلم أساسيات التعامل مع قواعد البيانات databases (يمكنك تأجيل هذا لما بعد التمكن مما ذكرتُه بالأعلي)،

  • تعلم أساسيات إنشاء مواقع الويب (يمكنك تأجيل هذا لما بعد التمكن مما ذكرتُه بالأعلي)

  • النصيحة الغاية في الأهمية هي أن تقرأ بنهم في مختلف المواضيع الحاسوبية، اقرأ كأنك لا تجد شيئاً آخر لتفعله؛ حتي تتكون لديك صورة شاملة تربط بها بين كل ما تعلمتَه و ما لم تتعلمه بعد، و يكون بإمكانك ساعتها أن تعرف العلاقة بين مختلف العلوم الحاسوبية و التداخلات بينهن. و يمكنك أن تبدأ بمتابعة المواقع الإخبارية التقنية العربية، ثم بعدما تقوي لغتك الإنقليزية يمكنك متابعة المواقع الغربية المشهورة.

في النهاية: خذ الأمور بالتدريج و لا تتعجل، و من الأفضل أن تتمرن عملياً علي كل ما تدرسه حتي تجيده:

اكتب برامجك الخاصة

abo-eyas.blogspot.com/2012/06/blog-pos...

 اكتب برامجك الخاصة كنتُ في بدية الأمر أحب أن أكون عالم رياضياتٍ أو فلك ! و لكني ما إن ولجت عالم الحوسبة و أحسست بجماله...

18
eisa 2013-12-22T22:47:29+00:00 أضف ردا
  • رابط مختصر

طالب علوم حاسب يختلف عن مبرمج سأتكلم هنا من وجهة نظر علوم الحاسب ك تخصص وعلم.

اهم مهارة تكتسبها هي الcritical thinking تعلم كيف تحلل مشكلة ما.. problem solving هي المفتاح هنا. مالمعطى مالمطلوب وكيف اصل اليه.

بالنسبة للتخصص من أهم الأمور/

١. data structure مثلاً/ متى تستخدم queue ومتى تستخدم stack

٢. Graph theory القراف موجود في كل مكان في الحاسب. الفهم العام لمعنى قراف وكيف تمثلها مهم.

٣. البحث search tree ..

٤. complexity analysis كيف تقيم خوارزميتين مختلفتين ؟

٥. فهم معنى ال function الرياضي. ماأقصدة هنا ان كثير من المفاهيم في علوم الحاسب تمثل على انها فنكشن mapping from one set to another

٦. Think abstract دعك من البرمجة ولغات البرمجة. افهم المعنى الرياضي mathematical model للمسألة. البرمجة سهل تتعلمها لكن الفهم العميق - الذي يتيح لك التطوير الحقيقي- هو عن طريق فهمك للمسائل كمسائل رياضية.

13
shox 2013-12-25T00:18:35+00:00 أضف ردا
  • رابط مختصر

1- هيكلية الحاسوب

2 - رياضيات التراكيب المتقطعة ( Discrete Math )

2- الخوارزميات و هياكل البيانات وهي اهم موضوع لطالب علم الحاسوب

3- اساسيات بروتوكولات الشبكات

4- اساسيات خوارزميات الذكاء الصناعي ( اختياري )

5- خوارزميات البرمجة المتوازية ( اختياري )

12
hichem 2013-12-21T19:50:29+00:00 أضف ردا
  • رابط مختصر

من الأشياء التي يجب معرفتها أن هناك أشياء لا تدرس وانما يتم تعلمها بالاحتراف. من الأشياء المهمة أيضا معرفة أن التكنولجيا تتطور باستمرار و بالتالي يجب عدم التوقف عن التعلم باستمرار. من أهم الأشياء أيضا التمكن من اللغة الانجليزية

1
shox 2013-12-25T00:30:32+00:00 أضف ردا
  • رابط مختصر

بلاضافة الى الاهتمام في الجانب العملي:

  • مرن نفسك على تطبيق الخوارزميات التي تقرئها.

  • حاول عدم نسخ اي كود من الانترنت اثناء حل الواجبات والمسائل وقلل استخدامك للمكتبات البرمجية الخارجية وان كان لابد من استخدامها افهم كيف تعمل من الداخل، تذكر لن يكون سوف يكون لديك وقت اقل في المستقبل لعمل هذه.

  • انت طالب وتمتلك الكثير من وقت الفراغ لن يتوفر معك في المستقبل بعد الجامعة حاول ان تقرا وتستغل وقتك اقرء كتب عملية مثل كتاب the pragmatic programmer وغيره.

  • تعلم كيفية التعامل مع برامج ادارة المصادر مثل git.

  • تعلم المنهجيات Methodologies تطوير البرامج مثل Test Driven Development .

  • حاول ربط ما تتعلمه مع الجانب العملي و لاتجعل دراستك للحاسوب نظرية.

  • اعمل مع فريق وتعلم فن التعامل مع اعضاء الفريق.

0
Etvoila 2016-01-06T15:00:56+00:00 أضف ردا
  • رابط مختصر

في نظري أن ما يحتاجه كل طالب أولاً هو معرفة صفات المجال الذي يعمل به، ثم التخصصات و تداخلاتها و الوظائف المتوقعة بعد التخرج.

حتى إذا ما حدد مجاله فإنه يستطيع الإجتهاد في مجاله قدر الإمكان.

فيما يخص الجزء الأول فقد دونت عنه هنا

علوم الحاسب: أهم التخصصات و النصائح والوظائف

www.oolom.com/

تحديد تخصصك في علوم الحاسب من أصعب القرارات، وضعتُ لك كل ما تحتاجه حتى تتخذ هذا القرار و خبرتي كلها حتى لا تقع في اخطائي...

أما الجزء الثاني فيعتمد على التخصص الذي تدرسه و هو حال مختلف

برمجة

مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.

25.7 ألف متابع

أطلق موقعك الإلكتروني في دقائق

صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.

أنشئ موقعك الآن

اقرأ أيضًا

  • تخصص علوم الحاسوب
  • كتاب علوم الحاسوب من الألف إلى الياء
  • ما هو الحاسوب الكمي ؟
  • دورة علوم الحاسوب
  • تعلم إنترنت الأشياء (IOT)

انسخ هذا الرابط:

تنبيه