It & Software Online Course by Udemy, On Sale Here
For Developers – Build Linux Programmable Libraries, Makefiles, Memory Management, Compilation & Linking, C Programming
An excellent training about Operating Systems
Linux System Programming Techniques & Concepts
There are already innumerable courses/tutorials on internet/Udemy which teaches almost every aspect of C programming language. All those courses sound same, talk same and deliver more or less same knowledge. How is this course different from others? The intention of this course is to make you ready for System programming Technical interviews, interview level – from Beginner to Intermediate. This course is for (future) Developers, not for testers or System Administrators.I choose to create this course to fill the gap between novice/beginner and intermediate/Advanced Programmers. This course assumes that you are at-least above average in programming (in any programming language, but preferable in C/C++) – know memory allocations, all kinds of loops, function calls, pointers etc. In this course, I won’t teach C/C++ (there are already many courses on it online), but would teach programming techniques and low-level details regarding how C program works behind the scenes – All topics very important from interview point of view. My Target is to grow this course into Linux/C Bible. Yet, I always feel, you need to outsmart your fellow colleagues in this era of stiff competition, and therefore, I tried this attempt to present you the wisdom and knowledge which is of utmost importance for a programmer. I have seen though students could write good C/C++ programs, yet they lack the clarity on how one should write better organized, Manageable, extensible and programmable codes in the form of libraries. For example, Students too good in competitive programming, yet do not know how to write a simple Makefile, reason being, Academics do not teach and students do not care to learn. In this course, I will cover the topics related to creating Linux System Libraries (release 1) with Advanced language-agnostic Programming Concepts (release 2) which can be well applied if you happen to become a programmer in other languages tomorrow. The Concepts like MultiThreading, Thread-Synchronization, Socket Programming, IPCs etc demands a separate course on each topic altogether. Currently, I have a course on IPC, pls check it out. These topics are out of scope for this course. The Course shall be delivered into two Releases: Release 1 Building and Managing a Library: This covers basics regarding how one should create and organize his code as a Library. Release 2 Memory Management Concepts: This covers Advance concepts on Linux Memory Management specifically. Please check Table of Contents for more info. Why you should *NOT* do this course?1. Please Excuse this course if you are the ultimate beginner in C programming! 2. There is no point of doing this course if you don’t like hitting the keyboard, and lazy enough to watch lecture VDOs only3. If you want everything cooked and served on your plate. Course Pre-requisite: Above Beginners Level in C/C++ programmingGood to have basic OS knowledgeZeal to excel and CodeNo Third Party librariesWhatever logic you implement, you need to implement it from scratch. Like all my other courses, this course do not suggest taking help of any third party library to get the jobs done. Use of external libraries completely defeats the purpose of the course. Warning: This course has auto system-generated subtitles which may not be perfect. Please disable subtitles as per your convenience. Curriculum: Release 1 Building and Managing a Library Section 1: Introduction to Libraries What is LibraryRelationship between Library and ApplicationEx: Doubly linked list as a LibraryQuick Compilation StepsSummarySection 2: Header FilesRelationship between Source and header filesText Substitution MethodText Substitution Method – Example and DemoSection 3: Preprocessing DirectivesProblem of Duplicate inclusion of Hdr filesPre-processing DirectivesSolution to Duplicate inclusion of Hdr filesSection 4: Correct way of Using Structures and FunctionsStructures – Define and Use thumb RuleFunctions – Declare and Use thumb ruleThe problem of Recursive DependencyA solution to Recursive DependencySection 5: Creation of Static and Dynamic LibrariesResuming with Doubly Linked List LibraryQuick Creation of Static and Dynamic LibrariesLinking with Static LibraryLinking with Dynamic LibrarySection 7: Understanding four stages of Compilation Four stages of C/C++ CompilationHow Dynamic Library works? Dynamic Linking: Linking with Dynamic LibraryComparison – Static Vs Dynamic LinkingSection 8: Building using a Makefile What are Makefiles and why do we need itFunctions of MakefileMakefile Dependency treeSteps of Writing a MakefileAssignment on MakefileSection 9: Run-time Programmable libraries What are Programmable Libraries?Steps to Program the librariesRegistering of the callbacks with Librarieskey match callbackcomparison fn callbackDelegation of Application-specific operations to LibrariesSection 10: Writing Iterators using MacrosWhat are Iterative Macros? Why we need Iterative Macros? How to Write Iterative Macros – For Trees and Linked ListsExercisesSection 11: Glue Based Libraries and Data structuresWhat are
Udemy is the leading global marketplace for learning and instruction
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams.
Study anytime, anywhere.
There are no reviews yet.