Functions, Pointers, Structure, Data Structures- Stacks and Queues, Linked List.Introduction to Object oriented design pattern. Basic elements, mutable and immutable type, tuples, list, and dictionaries. Control statements, loops, Functions, modules, Exception and assertions. Classes, Access Modifiers, dunder/magic methods, object-oriented programming, abstraction, inheritance, encapsulation, polymorphism, Code testing. Coding standard and guidelines. Code documentation. Porting to microcontrollers, Memory-mapped register access, interrupts, startup code, Code Analysis and Performance tuning. Version control system, benefits, Types of Version Control Systems, Centralized Version Control Systems, Distributed Version Control Systems.