Skip to Content

Linux System Programming Free course in alexandria

linuxawy's picture

تحديث

__

تم غلق التسجيل فى هذا الكورس لكثرة عدد المتقدمين. سيتم تكرار هذا الكورس فيما بعد ان شاء الله.


السلام عليكم بعد مجموعة الندوات اللى حصلت فى مكتبة الاسكندرية. جه الوقت اللى نبتدى فيها نعمل حاجة للمستوى المتقدم. بصراحة انا من زمان كنت عايز ان يكون فيه حاجة للمستوى المتقدم. لحد ما قابلت متطوع قادر انه يديلنا كورس لبرمجة النظام (system programming). المتطوع هو م/أحمد طير البر وهو عنده خبرة كويسة جدا فى المجال ده.

الكورس يبتدى السبت الجاى 18 أكتوبر ان شاء الله.

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

الكورس حيكون أول مرة مش موجه للمبتدئين.. علشان تيجى لازم يكون عندك النقط ديه:

  • معرفة كويسة باللينوكس، على الأقل بتستخدمه للاستخدامات اليومية من غير مشاكل.
  • تكون عارف شوية مبادئ عن البرمجة. لازم تكون على الأقل مبتدئ فى لغة برمجة أو scripting.. يعنى يكون عندك معرفة مبدئية بأى من bash, C/C++, perl, java, ruby, ...etc
  • معرفة كويسة باللغة الانجليزية تكفى لقراءة كتب متخصصة عن هذا الموضوع.
  • عندك الاستعداد للالتزام بالكورس لحد الاخر.. حيكون كام شهر ممكن يوصل ل6 شهور ان شاء الله.
  • أهم حاجه أهم حاجة أهم حاجة.. تكون عندك النية انك تساعد فى نشر العلم ده. يعنى متوقعين من كل واحد يحضر الكورس يساعد بصورة من الصور (يدرس الكورس ده تانى، يكتب شوية فى الويكى، يعمل ندوات، يرد على الأسئلة فى المنتدى، ...) المهم ما تبقاش أنانى وتاخد المجهود والعلم ده لمصلحتك الشخصية بس.. خليها مصلحتك الشخصية مع مصلحة المجتمع فى نفس الوقت.

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

أشوفكم يوم السبت ان شاء الله.

Course Outline:

I) C concepts and syntax:

  1. Concepts of structural programming, Makefiles, editors, environments.
  2. Typing, Declaration, Operators, Precedence and some data storage concepts.
  3. Conditionals and Loops
  4. Functions, structures, unions, and abstraction-encapsulation
  5. Pointers and arrays, memory allocation - stack vs. heap.
  6. Function Pointers, Casting, void * - Mechanism vs Policy.
  7. Debugging (this is not necessarily here, may be earlier if it's a better fit)
  8. Very brief introduction to the basic data structures: lists, trees, hash tables.

II) C++ and Object-oriented programming:

  1. Classes
  2. Inheritance
  3. Operator overloading
  4. Polymorphism
  5. Templates and introductory meta-programming
  6. The STL library
  7. Some design patterns and programming techniques

III) Application system programming concepts (the focus will be on Linux but the concepts and many of the prototypes are applicable throughout POSIX):

  1. User-space, process and address space concepts, shared objects and code loading.
  2. Threading (pthreads)
  3. IPC using POSIX and SYSV
  4. File operations and System calls
  5. Sockets

IV) Driver/Kernel Module programming concepts (Linux only, but the concepts do carry through other OSes):

  1. Mechanism vs. Policy and the C implementation of interfaces/strategy pattern, Makefiles
  2. File ops - synchronous vs asynchronus, calls, context
  3. Debugging
  4. Mutual exclusion
  5. Interrupts and tasklets
  6. Memory concepts, allocation, mapping
  7. Introduction to subsystems and the driver model, sysfs/procfs
linuxawy's picture

Sure

Sure I'll keep your email and contact you if I had any empty place. Meanwhile we'll try to put the materials here online so try to keep up with us


Ahmed D. El-Mekkawy

RE:Sure

Thank's Alot Linuxawy,be sure i will keep up ISA

Proud To Be Muslim

Can we expect youtube videos .. ?

.. even from mobile phone cams?!! :D

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


Dr. Radut | forum