<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"	xmlns:content="http://purl.org/rss/1.0/modules/content/"	xmlns:wfw="http://wellformedweb.org/CommentAPI/"	xmlns:dc="http://purl.org/dc/elements/1.1/"	xmlns:atom="http://www.w3.org/2005/Atom"	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"	xmlns:slash="http://purl.org/rss/1.0/modules/slash/">	<channel><title>Laimoon.com</title><link>https://courses.laimoon.com/sitemap/rss</link>	    <description>Courses in Dubai, Abu Dhabi, Sharjah Diplomas, Degrees &amp; Doctorates - Laimoon Course Guide</description>	    <language>en-us</language>	    	    			<image>				<url>https://cdn.laimoon.com/content_1566976670-eage logo.jpeg</url><title>eAge Technologies</title><link>https://courses.laimoon.com/online/schools/eage-technologies</link>			</image>			    						<item><title><![CDATA[Linux Kernel Internals  - eAge Technologies , Online ]]></title><link>https://courses.laimoon.com/course/part-time-linux-kernel-internals-eage-technologies-1/online</link>				  <description>				  <![CDATA[<p><strong><em>16 hours real time session + 10 hours monitored hands-on</em></strong></p><p><strong>Ideal For: </strong>This training is targeted primarily at software professionals - tech leads, system programmers / developers, maintainers and testers - who would like to delve much deeper into the internal functioning of the Linux operating system.<br></p><p><strong>Post course benefits: </strong>Lifetime access to online repository, Mock interview support, project support</p><p><strong>Recruitment support: </strong>eAgeIT will propose candidates of this program for any open opportunities with its client portfolio. We do not guarantee placement. This will be purely merit based support.</p><br><p><ul><li>Good working knowledge of and experience programming using the 'C'<br></li><li>Successfully attended the "LINUX Fundamentals for Software Developers" training program -or-have the equivalent knowledge / skill<br></li><li>Successfully attended the "Advanced LINUX Programming" training program -or-have the equivalent knowledge / skill Implies knowledge / skill sets of: POSIX library and system call API set, process management, IPC mechanisms, etc.<br></li><li>Extensive user-space development experience on a POSIX<br></li></ul></p><p><b>Course Content</b></p><ul><li>Linux OS : Fundamental Prerequisites</li><li>OS Architecture</li><li>Processor Protection Levels</li><li>Architecture Layers</li><li>Monolithic / Microkernel / Hybrid OS Architectures</li><li>Tracking Linux kernel changes.</li><li>Practical Guide to Writing Kernel Code with LKMs</li><li>Introduction to Loadable Kernel Modules (LKMs)</li><li>Setting up your Test System</li><li>The Hello World Module</li><li>Compiling, the Makefile, Insertion and Removal</li><li>Lab Assignment.</li><li>Passing Parameters</li><li>Kernel API and ABI.</li><li>Lab Assignment.</li><li>Kernel Architecture and the Process Descriptor</li><li>Timer Interrupt and the Tick Rate (HZ)</li><li>Kernel Architecture in Brief</li><li>Kernel Mapping of Processes and Threads</li><li>Multiple Stacks</li><li>Process Descriptor</li><li>Task List</li><li>Accessing the current task with 'current'</li><li>The task_struct.</li><li>Lab Assignments.</li><li>Linux Memory Management - Essentials</li><li>Introduction</li><li>What is VM; Hardware Paging</li><li>Linux VM Architecture</li><li>(n-Level) Arch-independent Paging on Linux</li><li>64-bit VM Layout</li><li>Memory (De)Allocation API</li><li>GFP flags and action modifiers</li><li>vmalloc</li><li>Slab Cache API interfaces</li><li>Which API to Use When</li><li>Lab Assignments</li><li>Test the kmalloc limits</li><li>Verify the internal fragmentation (wastage).</li><li>Kernel Segment: Kernel Memory Map on the Linux OS</li><li>&nbsp;Examining the Kernel Segment - kernel Virtual Address Space.</li><li>Process Virtual Memory Mapping</li><li>The mm_struct</li><li>Memory Regions and VMAs</li><li>Viewing VMAs</li><li>VMAs on 64-bit</li><li>proc: maps, pmap(1), smaps</li><li>smem, smemcap.</li><li>Low-Level API</li><li>Freeing Pages</li><li>kmalloc, kfree</li><li>GFP flags and action modifier</li><li>vmalloc</li><li>Slab Cache API interfaces</li><li>Which API to Use When</li><li>TheLinuxKernelScheduler</li><li>Introduction</li><li>Linux Process State Machine</li><li>Real-Time and Linux</li><li>POSIX Scheduling Policies</li><li>Realtime Policies</li><li>Priority Range</li><li>Pthreads soft-RT example</li><li>taskset</li><li>chrt</li><li>Linux as an RTOS: a mention of the PREEMPT_RT patch.</li><li>Control Groups</li><li>The Need</li><li>Cgroup Model</li><li>Configuration</li><li>Cgroups example for allocating cpu bandwidth.</li><li>Handling Concurrency in the Kernel</li><li>The Need for Atomicity</li><li>Causes of Concurrency in the kernel</li><li>Deadlock Prevention</li><li>Important Guidelines</li><li>Concurrency in the Kernel</li><li>Spinlocks and Mutexes</li><li>The Need</li><li>Understanding when to use which</li><li>The Semaphore Interface</li><li>A note on Spinlock Implementation</li><li>Specialized Locking</li><li>Atomic Operators</li><li>Reader-Writer Locks</li><li>Memory Barriers</li></ul><p>Cost: 499 USD</p><p>Duration: Upto 16 Hours</p>					]]>				  </description>				  <pubDate>Thu, 26 Sep 2019 10:23:04 +04</pubDate>				</item> 								<item><title><![CDATA[Learning Modern C++ Functional Programming  - eAge Technologies , Online ]]></title><link>https://courses.laimoon.com/course/part-time-learning-modern-c-functional-programming-eage-technologies/online</link>				  <description>				  <![CDATA[<p><em><strong>24 hours real time session + 10 hours monitored hands-on</strong></em></p><p>Ideal For: The course is intermediate to advanced in proficiency. It is suitable for the following:<br></p><p></p><ul><li>Programmers new in the area of Software Engineering that uses C++<br></li><li>Developers embarking on projects using C++based techniques for their projects<br></li><li>Professionals looking forward to upgrade the knowledge to apply skills<br></li></ul><p></p><p><strong>Post course benefits: </strong>Lifetime access to online repository, Mock interview support, project support</p><p><strong>Recruitment support: </strong>eAgeIT will propose candidates of this program for any open opportunities with its client portfolio. We do not guarantee placement. This will be purely merit based support.</p><p><strong>Course Objectives:</strong><br></p><p></p><ul><li>To understand C++ internals with proven examples<br></li><li>Would be able to apply C++ skills to construct code for their project<br></li><li>Get an insight to develop C++ software in a systematic manner<br></li><li>Would be able to user C++ 11 &amp; 14 &amp; 17 extensions in software<br></li><li>Would be able to write secured code that cannot be easily exploited<br></li><li>Get an understanding of robust software design in C++<br></li></ul><p></p><p><strong>Pre-Requisites:</strong></p><p></p><ul><li>Delegates are desired to be aware of OOPS principals but it is not a mandatory<br></li></ul><p></p><p><strong>Detailed Coverage:</strong></p><p><strong>C++ Introduction Timeline</strong></p><p></p><ul><li>Features of C++ (Revision)</li><li>Goals for C++ and TR11/14/17</li></ul><strong>Build Essentials in C++&nbsp;</strong><p></p><p></p><ul><li>Monolithic build, scope, and translations to executables</li><li>Std 11/14/17 switchs and __cplusplus</li><li>Separately Translated Program and monolithic builds</li></ul><strong>Programming Paradigms</strong><p></p><p></p><ul><li>Procedural Programming</li><li>Object-Oriented Programming</li><li>MDD, UML view, OOAD, SOLID</li><li>Relationships and Responsibility in OOPS</li><li>;Introduction to C++ Specific Features</li><li>Data Declaration and scope, Functions in C++: inline</li><li>default argument, Overloading, References, Namespaces</li><li>Inbuilt support for object oriented features</li><li>RTTI, exception handling, templates</li><li>Large-Scale Projects Are More Susceptible to Name Clashes</li><li>Koenig Lookup</li><li>Namespace Aliases</li><li>Namespace Utilization Policy in Large-Scale Projects</li><li>Namespaces and Version Control</li><li>Scope Resolution Operator Should Not Be Used to Designate Global Names</li><li>Standard Headers Names</li><li>Restrictions on Namespaces</li><li>Namespace std Can Not Be Modified</li><li>User-Defined new and delete Cannot Be Declared in a Namespace.</li></ul><strong>Classes and Objects</strong><p></p><p></p><ul><li>Representing Objects in C++</li></ul><strong>Object members and special member functions&nbsp;</strong><p></p><p></p><ul><li>The initializations in C++ using constructor</li><li>OAD: C++ Object Implementation</li><li>How a compiler interprets Object</li><li>Special member functions</li><li>Constructors,Destructors</li><li>Copy and move Constructor</li><li>Assignment move in Operator</li><li>Blocking Object Copying</li><li>Designing a class around mutable, logical const</li></ul><strong>&nbsp;Object Initialization &amp; Cleanup</strong><p></p><p></p><ul><li>Compiler Synthesized Constructor &amp; Destructor</li><li>Deep copy v/s Shallow copy</li><li>explicit constructor</li><li>Copy Constructor v/s Assignment operator</li><li>Initialization v/s Assignment</li><li>Order of Initialization</li><li>Aggregate initialization</li></ul><strong>Class Members and Designing Software</strong><p></p><p></p><ul><li>Static data</li><li>Static methods</li><li>Object instance control and sharing</li><li>A minimal pattern study: singleton and its variance</li><li>lmitations, and extensions</li></ul><strong>Memory management techniques in C++&nbsp;</strong><p></p><p></p><ul><li>Types of Storage</li><li>POD (Plain Old Data) and non-POD Objects</li><li>The Lifetime of a POD Object</li><li>The Lifetime of a non-POD Object</li><li>malloc() and free() Versus new and delete</li><li>new and delete</li><li>Allocating and Deallocating Arrays Using new[] anddelete[]</li></ul><strong>Extending the Encapsulation in Design&nbsp;</strong><p></p><p></p><ul><li>Friend and classes</li><li>Object communication</li><li>Friend functions, Friend classes</li><li>Const objects and const member functions</li><li>Object composition &amp; destruction mechanism</li><li>Boundary classes &amp; object interfaces</li></ul><strong>Overloading Operators&nbsp;</strong><p></p><p></p><ul><li>The operator function and its interpretation object expressions</li><li>Using member functions &amp; friend functions - when to use what</li><li>Implicit/explicit overloading mechanism</li><li>Returning objects &amp; assignment operator</li><li>Overloading new &amp; delete operators</li></ul><strong>Special operator overloads: usage in STL as case study</strong><p></p><p></p><ul><li>operator == , operator [ ], operator ( ), operator -&gt;, operator comma (,)</li></ul><strong>Code Browsing and reverse engineering</strong><p></p><p></p><ul><li>CScope ,Cflow</li></ul>;Objects in Hierarchy Design: Inheritance in C++<ul><li>Example frameworks that are built on inheritance: QT, WX Widget</li><li>Specialization and Derived Classes</li><li>Generalization and Abstract class, interfaces</li><li>Types of inheritance</li><li>Single level, multi-level, multiple, hierarchical, hybrid</li><li>Inheritance - is it allocation or accessibility</li><li>The protected access specifier</li><li>Inheritance in private, protected &amp; public mode</li><li>Constructors &amp; destructors in a derived class</li><li>Multiple inheritance</li><li>Virtual Base class Invoking base class constructors</li><li>Why a constructor is not inherited</li></ul>15. Is-a &amp; Has-a relationship<ul><li>Nested classes &amp; Containership</li></ul>16. Runtime Polymorphism, Virtual Functions &amp; Dynamic Binding<ul><li>Pointers to Class Members</li><li>Base class pointers &amp; derived class objects</li><li>Virtual functions &amp; base class pointers</li><li>Virtual functions &amp; base class reference</li><li>Dynamic Binding v/s Early Binding</li><li>Pure virtual functions</li><li>Virtual destructors</li><li>Abstract classes &amp; applications</li></ul>;Runtime Type Identification &amp; Casting Operators<ul><li>Runtime Polymorphism &amp; RTTI</li><li>typeid &amp; type_info</li><li>dynamic_cast, const_cast, static_cast, reinterpret_cast</li></ul>18. Templates in Depth<ul><li>Implicit instantiation</li><li>Explicit instantiation</li><li>Specialization: complete and partial</li><li>Function Templates</li><li>Class Templates</li><li>Declaration of a Class Template</li><li>Instantiation and Specialization</li><li>Explicit Specialization of a Class Template</li><li>Specializations of Class Template Functions</li><li>Template Arguments</li><li>Default Type Arguments</li><li>Static Data Members</li><li>Friendship</li><li>Function Templates</li><li>Performance Considerations</li><li>Type Equivalence</li><li>Avoiding Unnecessary Instantiations</li><li>Explicit Template Instantiation</li><li>Interaction with Other Language Feature</li></ul>;The Design of STL for handling Modern and Complex Data handling<ul><li>Containers, Algorithms, and iterators</li><li>Using STL/STD Containers</li><li>Using Algorithm and iterators with STD</li><li>Exploring various containers, iterators and algorithms</li><li>Vector, List, Map, Set</li><li>Array, tuple, unordered_map, unordered_set</li></ul>;Language Feature extensions<ul><li>Initialization, Initializer lists</li><li>Uniform initialization</li><li>Move Semantics</li><li>Lambda</li><li>Auto, decltype, trailing return type, auto vs. decltype</li><li>Range-based for loop ,static_assert, constexpr functions/data, Inline namespaces</li></ul>21. Concurrency in C++<ul><li>STD Threads Passing, arguments to threads</li><li>Data lifetime considerations, Synchronization with mutexes and locking</li><li>Acquiring multiple locks, mutex types</li><li>Returning values from threads using futures and async, Launch policies</li><li>Condition variables, Thread-local storage</li></ul><br><br><br><br>&nbsp;<p></p><p>Cost: 499 USD</p><p>Duration: Upto 24 Hours</p>					]]>				  </description>				  <pubDate>Wed, 28 Aug 2019 13:19:57 +04</pubDate>				</item> 					</channel></rss>