Electronics · PG program

Post Graduate Program inPre-Graduate Program in Embedded Systems

A comprehensive program covering various aspects of embedded systems exclusively for pre-graduate electrical and electronics engineers

Duration
16 weeks
Content
94 hours
Courses
4
Projects
9
Mode
Online
Overview

What you'll
be able to do.

  • This program includes different courses covering various aspects of engineering design.
  • Learners will gain a thorough understanding of the importance of Embedded Systems and gain hands-on experience with the different Software and Programming Languages used in building an Embedded System.
  • They will gain hands-on experience in industry-related tools for Unit Testing and Static Code Analysis.
  • Also, they will learn different problem-solving approaches to be considered while designing an Embedded System.

Why this program

  • Students will gain exposure to:
    • Input/Output Functions, Data Types, Operators, and Memory Management
    • Control Statements, Function Prototypes, and Pointersbg
    • Compilation Process, Preprocessor Directives, and Arrays
    • Stack Operations and Queue Operations
    • Finite State Machine
    • C and Embedded C Standards
    • AUTOSAR C Rules and MISRA C Guidelines
    • Bare Metal Programming, Communication Protocols, and AVR Architecture
    • Debugging Codes, Timers, ADC, and Interrupts
    • Test Coverage Levels, Test Design Techniques, Unit Testing, Test Automation, and Static Analysis
  • Job Opportunities
    • Firmware Engineers/Device Driver Developer
    • V&V Engineers
    • Embedded Software Testing Engineers
    • Model-Based Development Engineers
    • Embedded Software Developer
    • AUTOSAR MCAL Developer
    • Embedded Testing Engineer
  • Higher Education can be pursued in the following domains:
    • Masters in Embedded Software Engineering
    • Masters in Embedded Systems
    • Masters in Automotive Electronics
    • Masters in Robotics
Tools you'll use
MATLABSimulinkC ProgrammingSTM32CubeIDEAVR ATmega328SimulIDEMicrochip StudioLRDA Tool Suite
Curriculum

4 courses,
39 modules.

  1. 01Embedded Programming Essentials18 modules
    1. C Language for Embedded Programming, C Input /Output Functions, C Data Types for Embedded Programming, C Language OperatorsW01
      • What an Embedded System is
      • Traits and Architecture of an Embedded System
      • Embedded Hardware and Software
      • Why C-language is Preferred for Embedded SW Development
      • Installing Tool Chain
      • Installing STM32CubeIDE
      • Installing GCC Compiler
      • Creating a New Project
      • Basic Elements of a C-Program
      • C-Program Layout
      • Standard I/O - Library
      • getchar and putchar
      • printf and sprintf
      • scanf and sscanf
      • C Data Types
      • Signed Data Representation
      • Data Type - Overflow/Underflow Issues
      • C99 Data Types
      • Fixed Point and Floating-Point Representation
      • FPU Usage
      • ‘Enum’ and ‘Typedef’
      • Operators in C
      • Operators Precedence and Associativity
    2. C Control Statements, Function Prototypes, Introduction to Pointers, C Storage Classes and Type QualifiersW02
      • Control Statements in ‘C’ language
      • ‘if-else’
      • Loops for Iterations
      • Switch Case for Multiple Selections
      • Tips and Traps for Switch-Case
      • ‘if-else’ vs ‘switch’
      • ‘goto’ Statement and Labels
      • Introduction to vFunctions
      • Advanced Control Flow with ‘setjmp( )’ and ‘longjmp( )’
      • Functions ()
      • Function Prototypes
      • Recursive Function
      • Function Pitfalls
      • Introduction to Pointers
      • Call by Value Vs Call by Reference
      • Pointer Arithmetic
      • Functions as ‘Pointer'
      • C Storage Classes
        • Automatic
        • External
        • Static
        • Register
    3. C Compilation Process, C Preprocessor Directives, Arrays in C, Arrays to Functions, and Array of Function PointersW03
      • Stages of the Compilation Process
        • Pre-processing
        • Compilation
        • Assembling
        • Linking
      • GCC Commands for Each Stage
      • Preprocessor Directives in C
      • Macros and their Types
      • Conditional Compilation
      • #pragma
      • Introduction to Arrays
      • Array Initialization
      • Accessing Array Elements
      • 2D Arrays
      • 3D Arrays
      • Pointers and Arrays
      • Passing Array Elements to a Function
      • Array of Pointers
      • ‘Function’ as ‘Pointer’ - Function Pointers
      • Array of Function Pointers
    4. Command Line Arguments, Variadic Functions, Strings and String Functions in C, Structures in C, Unions and Bitfields in CW04
      • Command Line Arguments in C
      • Variadic Functions in C
      • Strings in C language
      • String Functions from
      • Structure Declaration in C
      • Array of Structures
      • Pointer Objects to Structure
      • Memory Allocation of Structure and Structure Padding
      • Structure Padding Comparison
      • Bit Fields
      • Unions
    5. Advanced Function Arguments, Advanced Pointers-Void Pointers, File Operations in C, Standard Libraries CW05
      • Function Pointers
        • Passing Function Pointers as Arguments to a Function
      • Inline Functions
      • Passing a String as a Function Argument
      • Returning a String from a Function
      • Passing Arrays to Function Arguments
      • Returning Multiple Values from a Function
      • Passing Structure Pointers as Function Arguments
      • Passing an Array of Structures to a Function
      • Double Pointers with Example
      • Void pointers with Example
      • Miscellaneous Features
      • File I/O Handling
      • Read and Write Operations
      • Error Handling Mechanisms
      • General Properties of C Library
      • Functions of C Library
      • Need for Libraries - Static vs. Dynamic Libraries
      • Utility Functions
    6. C Memory Management, Dynamic Memory Allocation, Modular C Programming, Modular C Programming, and C Program OptimizationW06
      • C Memory Model
      • Dynamic Memory Allocation on Heap
      • Miscellaneous Memory Functions
      • Variable Length Arrays
      • Creating a User-Defined Library
      • Makefile Project in STMCubeMX IDE
      • Creating a Custom Makefile
      • Introduction to Debugging
      • Debugging using GDB Tool
      • Debugging using Preprocessor Directives
      • Optimization for Memory Usage and Execution Speed
      • Optimization Methods
      • Code Level Optimization
    7. Stack and Stack Operations, Queue and Queue Operations, Linked List, Finite State MachineW07
      • Fundamental Concepts of Data Structures
      • Operation on Data Structure
      • Arrays and Array Operations
      • Stack and Standard Stack Operations
      • Fundamental Concepts of Queue
      • Operations performed in Queue
      • Different Types of Queue
      • Fundamental concepts of Linked List
      • Types of Linked List
        • Singly Linked List
        • Doubly Linked List
        • Circular Linked List
        • Doubly Circular Linked List
      • Introduction to FSM (Finite State Machine)
      • State Diagram
      • Explanation of State Diagram
      • State Table
      • Implementation of State Machine
      • Mealy State Machine
      • Moore State Machine
    8. Process Management in C, Embedded Design PatternsW08
      • Threads
      • Memory Model of Threads
      • Library
      • Process Vs Threads
      • IPC Mechanism
      • Different Design Patterns of Embedded System
      • Hardware Adapter Pattern
      • Observer Pattern
      • Debounce Pattern
      • Interrupt Pattern
      • Polling Pattern
    9. C and Embedded C StandardsW09
      • C Standards
      • K&R C
      • K&R Standards
      • ANSI C
      • C90 Standards
      • C99 Standards
      • C11 Standards
      • Embedded C
      • C-General Coding Standards
      • Embedded C Standards
    10. AUTOSAR C Rules and MISRA C GuidelinesW10
      • Common Pitfalls in C Language
      • Overstepping of Array Boundaries
      • Example of Faulty Code
      • Buffer Overflow
      • Stack Overflow
      • Glimpse into AUTOSAR and MISRA
      • Prominent MISRA C Rules
    11. Introduction to C++ and OOPS-Part 1W11
      • Introduction of C++
        • What is C++?
        • Program Paradigm
        • ANSI/ISO Vs Standard C++
        • C++ Syntax and Structure
        • C++ Language Fundamentals
        • Benefits of C++ over C
      • C vs C++
        • Procedural Vs OOP
        • Compiling a C Program in C++ Environment
        • Undefined Behavior in C and C++
        • Void * in C vs C++
        • Name Mangling
        • Use of Extern C in C++ Programming
        • Structures in C Vs Class in C++
      • C++ Vs Java
        • Similarities between C++ and Java
        • Exception Handling in C++ vs Java
        • Default Virtual Behavior in C++ Vs Java
        • Floating Point Operations and Property of Associativity in C, C++, and Java
      • Dynamic Memory Allocation
        • malloc()
        • calloc()
        • realloc()
        • free
        • new
        • delete
        • malloc Vs new
        • free Vs delete
      • Object Oriented Programming
        • OOP’s Concepts - Briefing
        • Class
          • Default Access Specifier in a Class
          • Access Modifiers
          • Constructor
          • Destructor
          • Assignment Operator
          • Copy Constructor
          • Default Member Functions in a Class
        • Object
    12. OOPS - Part 2W12
      • Object-Oriented Programming
        • Encapsulation
        • Abstraction
        • Message Passing
        • Dynamic Binding
        • Data Hiding
        • Inheritance
          • Use of Inheritance
          • Modes of Inheritance
          • Types of Inheritance
            • Single Inheritance
            • Multiple Inheritance
            • Hierarchical Inheritance
            • Multiple Inheritance
            • Hybrid Inheritance
          • Multipath Inheritance
        • Diamond Problem
    13. OOPS - Part 3W13
      • Object-Oriented Programming
        • Polymorphism
          • Compile Time Polymorphism
            • Function Overloading
            • Operator Overloading
          • Runtime Polymorphism
            • Function Overriding
            • Virtual Keyword
            • VTable
            • Vptr-V Pointer
            • Virtual Functions
            • Abstract Class
            • Pure Virtual Function
            • Interface Vs Abstract Class
    14. Constructor and DestructorsW14
      • Constructor and Destructor
        • Virtual Constructor
        • Virtual Destructor
        • Virtual Copy Constructor
        • Shallow Copy Vs Deep Copy
        • Default Constructor and Copy Constructor
        • Copy Constructor and Assignment Operator
        • Dangling Pointer
        • Void Pointer and Opaque Pointer
        • Null Pointer and Wild Pointer
        • Private Constructor
        • Private Destructor
        • Copy Elision
        • Explicit Keyword
    15. Keywords in C++W15
      • Static Keyword in C++
        • Static Variables in a Function
        • Static Variables in a Class
        • Static Members of Class - Static Class Objects
        • Static Member Functions in a Class
      • Const Keyword in C++
      • Mutable Keyword in C++
      • Friend Function and Friend Class in C++
      • This Pointer in C++
        • ‘this’ Pointer
        • Types of ‘this’ Pointer
        • Delete ‘this’
    16. Type CastingW16
      • Type Casting in C++
        • Implicit Cast
        • Explicit Cast
        • dynamic_cast
        • static_cast
        • reinterpret_cast
        • const_cast
      • Member Initializer List in C++
        • Use of Initializer Lists
        • Member Initializer Lists
    17. Exception HandlingW17
      • Exception Handling in C++
        • Exception Handling in C++
        • Base Class and Derived Class Exception Handling
        • Catch Block in C++
        • Object Destruction
        • Stack Unwinding in C++
      • Templates in C++
        • Introduction to Templates
        • Function Templates
        • Class Templates
        • Template Specialization
    18. Multi-ThreadingW18
      • Multithreading in C++
      • Posix Threads
      • Std::thread
      • Inter-Process Communication
      • What is IPC?
      • Various Methods in IPC
      • Smart Pointers
      • Use of Smart Pointers
      • Types of Smart Pointers
      • Auto Pointer
      • Unique Pointer
      • Shared Pointer
      • Weak Pointer
  2. 02AVR Bare Metal Programming- Live Sessions8 modules
    1. Arduino Vs Bare Metal Programming and Compiling Program with Custom Make FilesW01
      • Memory Blocks of Microcontroller
      • Measuring Memory Occupied by the Code using Arduino Library
      • Measuring Clock Cycles taken by the Instructions of Arduino Library
      • Internal I/O Circuit Diagram of Microcontroller
      • Accessing Registers using Specific Address
      • Comparison of Code Size and Clock Utilization of Arduino Library and Bare Metal Coding
      • Need for Writing a Custom Make File
    2. Pinout and Features of Atmega328 and AVR ArchitectureW02
      • Pin Out Details of Atmega328
      • Pin Description at a Glance
      • Features of Atmega38
      • AVR Architecture
    3. Setting up Microchip Studio for AVR using SimulIDE to Simulate the Target Environment and Input & Output Ports of Atmega328W03
      • Setting up Microchip Studio
      • Introduction to SimulIDE
      • Flashing the Code on the Virtual Atmega328 Microcontroller in SimulIDE
      • I/O Pin Block Diagram
      • I/O Ports and their Functions
      • Register Description of I/O ports
    4. Debugging the Code in Microchip Studio and Basics of Timers, Counters, and PWMW04
      • Starting a Debugging Session
      • Various Windows of Debugging
      • Adding Breakpoints
      • Timer Clock Sources
      • Counter Unit
      • Output Compare Unit
      • Compare Match Output
      • Modes of Operation
    5. LCD Interface and Basics of ADCW05
      • Deep Dive into 2*16 LCD Display
      • Common Commands for HD78044 LCD
      • Simulation of LCD Interfacing
      • Basics of ADC
      • Registers Associated with ADC of Atmega328
    6. Analog Comparator and InterruptW06
      • Introduction to Interrupt
      • Interrupt Service Routine(ISR)
      • Registers Associated with Interrupt
      • Code and Simulation of ISR
      • Introduction to Analog Comparator
    7. Communication Protocols and Non-Volatile MemoriesW07
      • Basics of UART, SPI, and I2C
      • Harvard and Von-Neumann Architecture
      • Program Memory Map
      • Write to and Read from the Flash Memory
      • Concepts of the Boot Loader
      • EEPROM
      • Program to Store Data into EEPROM
    8. Saving Power and Code ProtectionW08
      • Concept of Power Saving
      • Power Reduction Register
      • Different Sleep Modes of Atmega
      • Wake Up Sources
      • Watchdog Timer
  3. 03Software Verification and Validation and System Testing for Hand Code8 modules
    1. Introduction to Verification and Validation and System TestingW01
      • What is verification? (Real-world examples)
      • What is Validation and how it is different from verification? (Real-world examples)
      • Identifying Verification and Validation from the V- Cycle
      • Developer’s Mindset Vs Tester’s Mindset
      • Explaining various stages of validation (Unit Testing, Integration Testing, System Testing) with regards to verification phases in V-cycle
        • System Testing
        • Blackbox Testing
        • Functional Testing
        • Smoke Testing
      • Usage of V-model in present Agile world
      • SAFE (Scaled Agile Framework) concepts to illustrate ARTs
    2. Test Case Development from Requirements – IW02
      • Introduction to Test Coverage Levels (C0, C1, MCDC)
      • Introduction to Different Test Design Techniques
      • Choosing Test Design Techniques for Various System Requirements (Examples)
    3. Test Case Development from Requirements – IIW03
      • Test Cases Vs Test Specification
      • Writing a Test Plan
      • How to Write a Test Case for the Requirements?
      • Usage of Doors to Create Test Cases for the Requirements (Traceability)
      • Hands-on Examples (Using Excel) [CLIMA, BSW]
    4. Static Analysis and MISRA-C GuidelinesW04
      • What is MISRA-C?
        • How are we using it for Safety-critical SW?
      • Important Rules of MISRA-C
        • How to identify and fix them?
      • What is Static Analysis?
        • Where is Static Analysis in V-cycle?
      • Explaining Errors in Static Analysis (Case Studies)
      • Heuristics Vs Formal Methods
      • Hands-on Examples
    5. Unit Testing and Integration TestingW05
      • Unit Testing and Integration Testing
        • Why do we need it?
      • Why do we need SIL?
      • SIL Levels and Coverage Levels
      • Stub Functions
      • Hands-on Examples
    6. Automation and CI/CDW06
      • Overview of Test Automation
      • Introduction to Constructs of Infrastructure for CI/CD
      • Introduction to Git Hub
    7. Tool Introduction, Familiarization and Static AnalysisW07
      • Overview of LDRA Toolsuite
      • Analysis Scope Definition
      • UI View and Usage
      • LDRA -Tbrun, Tbvision, and TBReports Overview
    8. Unit Testing and Integration TestingW08
      • Unit White Box Testing of Simple Project - (Array, Structure, Pointer, Linked lists)
        • Adding Test Cases, Executing Tests, and Understanding Test Report
        • Fixing Defects Detected from Tests
        • Analyzing Coverage and Adding Test Case to Increase Coverage
        • Generating Test Cases using Different Techniques
          • MC/DC, Equivalence Class, Boundary Check, etc., using MCDC Planner
        • Stubs
      • Unit Blackbox Testing of Simple Project
        • Adding Test Cases, Executing Tests, and Understanding Test Report
      • Integration Testing
        • Adding Test Cases, Executing Tests, and Understanding Test Report
        • Identifying and Fixing Defects Detected from Tests
  4. 04Introduction to Model-Based Development using MATLAB and Simulink5 modules
    1. Fundamentals & Basics of MATLAB scriptingW01
      • Introduction to MATLAB scripting and Syntax Basics
      • Vectors, Matrices & Data Types in m-scripting
      • MATLAB Operators, Decision Making Statements & Strings in m-scripting
      • MATLAB Data Structures Overview & Cell Arrays in m-scripting
      • Tables & Structures, MATLAB Functions & Callbacks in m-scripting
      • File Handling Formats, Debugging & Flow Control Logics in m-scripting
      • Block properties, Different Workspaces in m-scripting
      • Programmatically accessing Simulink in m-scripting
    2. SimulinkW02
      • Introduction to Simulink & Simulink Toolbars
      • Block Settings, Model Annotation, Simulink Solvers
      • Sources & Sink Libraries
      • Math Operations; Logical & Bit Operations
      • Ports & Subsystems; Atomic Subsystems
      • Masked Subsystem & Linked Libraries
      • Continuous, Discontinuous & Discrete Blocks
      • User-Defined Functions & Lookup Tables
      • Mathematical Model Representation & System Models Creation in Simulink
      • Stateflow-1
      • Stateflow-2
    3. MATLAB Model-Based DevelopmentW03
      • Overview of Automotive Industry
      • Software Development demands of Automotive Industry
      • Model Based Development in Automotive Industry & Model Based Development in MATLAB
      • Requirement Analysis in Model Based Development
      • Model Based Development Configuration Parameters Settings
      • Creating Simulink Data Dictionary
      • Accessing Simulink Data Dictionary & Port Property SettingsSignal Names & Signal Property Configuration
    4. Model ValidationW04

      In this week, the following topics are discussed:

      • Model Simulation & Model Advisor Report
      • Code Generation Settings, Auto-code Generation
      • Overview of Model in Loop, Software in Loop & Hardware in Loop
      • Testing Theory
      • Test Report Analysis (Coverage Analysis & Different Techniques)
      • Model in Loop Testing
      • Software in Loop Testing
      • Overview of Hardware in Loop Testing
    5. Advanced Driver Assistance SystemW05
      • Introduction to ADAS & Levels of Autonomous Driving
      • Overview to ADAS Features - 1
      • Overview to ADAS Features - 2
      • ADAS Project - Tilt & Telescopic Steering Column
      • Requirement Analysis & Problem Understanding
      • MATLAB Model Development of Tilt & Telescopic Function Feature
Industry projects

9 projects
you'll ship.

Our projects are designed by experts in the industry to reflect industry standards. By working through our projects, Learners will gain a practical understanding of what they will take on at a larger-scale in the industry. In total, there are 9 Projects that are available in this program.

User Interfaces for Working with “Sets”
Embedded Programming Essentials

User Interfaces for Working with “Sets”

In this project, you will have to use the C programming language to implement interfaces for mathematical set theory. This requires the development of two linked lists and the impl…

Finite State Machine for Aircraft Landing Gear System
Embedded Programming Essentials

Finite State Machine for Aircraft Landing Gear System

You will have to develop a code using C programming to control the retraction and extension of an airplane’s landing gear. The objective of this project is to implement logic…

Automobile Maintenance System
Embedded Programming Essentials

Automobile Maintenance System

Build an object-oriented library that can be used to track automobile maintenance. There will be a set of syntax given, which the students have to use in order to create the librar…

DC Motor Control Using L293 Driver
AVR Bare Metal Programming- Live Sessions

DC Motor Control Using L293 Driver

During this project work, the learners will implement a DC motor control using an L293 driver and print the running status of the motor on an LCD screen. Also, they will simulate t…

Interfacing HC-SR04 Ultrasonic Sensor with Atmega328p
AVR Bare Metal Programming- Live Sessions

Interfacing HC-SR04 Ultrasonic Sensor with Atmega328p

During this project work, the learners will interface the HC-SR04 ultrasonic sensor with an Atmega 328P. This hardware can be used for rear parking assistance. They will also simul…

Vehicle Direction Detection
Introduction to Model-Based Development using MATLAB and Simulink

Vehicle Direction Detection

During this project work, the students will develop a MATLAB Simulink model for detecting the direction of the vehicle based on the given requirements. The projects should be MBD c…

Adaptive Cruise Control
Introduction to Model-Based Development using MATLAB and Simulink

Adaptive Cruise Control

During this project work, the students will develop the Adaptive Cruise Control Feature for passenger cars in the MATLAB Simulink environment based on the given requirements. The s…

Static Code Review Analysis
Software Verification and Validation and System Testing for Hand Code

Static Code Review Analysis

During this project work, the students will generate a code review that is compliant with the MISRA C 2012 coding guidelines. Also, the code review report should be complaint with …

Dynamic Analysis – White Box Testing
Software Verification and Validation and System Testing for Hand Code

Dynamic Analysis – White Box Testing

During this project, the students will perform Dynamic Analysis – White Box Testing based on the given input data. They will create manual and automatic testcases using TB Extreme …

Fee

One fee.
Everything included.

Become job ready with our comprehensive industry focused curriculum for freshers & early career professionals

Premium
₹1,50,000
Inclusive of all chargesEMI from ₹7,841/month
  • Career Service Assurance
  • Personalized Career Services Mentorship
  • 1 Year Access
  • Personalized Page
  • Live Individual & Group Sessions
  • Personalized & Hands-On
  • Job-Oriented Industry Relevant Curriculum
Check eligibility →
Next step

Not sure it's
the right fit?

A counsellor will walk you through the syllabus, projects and fee options — and tell you honestly if another course suits you better.

Get the syllabus + a call back

We'll email the full syllabus and call within one working day.

By submitting you agree to our Terms and Privacy Policy.

₹1,50,000PG program
Enquire

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.