السلام عليكم بعد مجموعة الندوات اللى حصلت فى مكتبة الاسكندرية. جه الوقت اللى نبتدى فيها نعمل حاجة للمستوى المتقدم. بصراحة انا من زمان كنت عايز ان يكون فيه حاجة للمستوى المتقدم. لحد ما قابلت متطوع قادر انه يديلنا كورس لبرمجة النظام (system programming). المتطوع هو م/أحمد طير البر وهو عنده خبرة كويسة جدا فى المجال ده.
الكورس ده عبارة عن شخص بيشارك معلوماته معانا.. مش تجهيز لأى شهادة، ولا حيعملنا امتحانات ويقعد يصلحلنا ويديلنا درجات، لكن بالتأكيد حيحاول يعلمنا اللى يقدر عليه.
الكورس حيكون أول مرة مش موجه للمبتدئين.. علشان تيجى لازم يكون عندك النقط ديه:
- معرفة كويسة باللينوكس، على الأقل بتستخدمه للاستخدامات اليومية من غير مشاكل.
- تكون عارف شوية مبادئ عن البرمجة. لازم تكون على الأقل مبتدئ فى لغة برمجة أو scripting.. يعنى يكون عندك معرفة مبدئية بأى من bash, C/C++, perl, java, ruby, ...etc
- معرفة كويسة باللغة الانجليزية تكفى لقراءة كتب متخصصة عن هذا الموضوع.
- عندك الاستعداد للالتزام بالكورس لحد الاخر.. حيكون كام شهر ممكن يوصل ل6 شهور ان شاء الله.
- أهم حاجه أهم حاجة أهم حاجة.. تكون عندك النية انك تساعد فى نشر العلم ده. يعنى متوقعين من كل واحد يحضر الكورس يساعد بصورة من الصور (يدرس الكورس ده تانى، يكتب شوية فى الويكى، يعمل ندوات، يرد على الأسئلة فى المنتدى، ...) المهم ما تبقاش أنانى وتاخد المجهود والعلم ده لمصلحتك الشخصية بس.. خليها مصلحتك الشخصية مع مصلحة المجتمع فى نفس الوقت.
يا رييييت لو حد يقدر يساعد فى تدريس الكورس ده أو جزء منه. حيفيدنا جدا لو كان العدد كبير واضطرينا نقسم الناس لمجموعتين.
أشوفكم يوم السبت ان شاء الله.
Course Outline:
I) C concepts and syntax:
- Concepts of structural programming, Makefiles, editors, environments.
- Typing, Declaration, Operators, Precedence and some data storage concepts.
- Conditionals and Loops
- Functions, structures, unions, and abstraction-encapsulation
- Pointers and arrays, memory allocation - stack vs. heap.
- Function Pointers, Casting, void * - Mechanism vs Policy.
- Debugging (this is not necessarily here, may be earlier if it's a better fit)
- Very brief introduction to the basic data structures: lists, trees, hash tables.
II) C++ and Object-oriented programming:
- Classes
- Inheritance
- Operator overloading
- Polymorphism
- Templates and introductory meta-programming
- The STL library
- 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):
- User-space, process and address space concepts, shared objects and code loading.
- Threading (pthreads)
- IPC using POSIX and SYSV
- File operations and System calls
- Sockets
IV) Driver/Kernel Module programming concepts (Linux only, but the concepts do carry through other OSes):
- Mechanism vs. Policy and the C implementation of interfaces/strategy pattern, Makefiles
- File ops - synchronous vs asynchronus, calls, context
- Debugging
- Mutual exclusion
- Interrupts and tasklets
- Memory concepts, allocation, mapping
- Introduction to subsystems and the driver model, sysfs/procfs
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