Post Graduate Program in Electric Vehicle Design and Development

BY
Skill Lync

Mode

Online

Duration

48 Weeks

Fees

₹ 275000

Quick Facts

particular details
Medium of instructions English
Mode of learning Self study
Mode of Delivery Video and Text Based

Course and certificate fees

Fees information
₹ 275,000

The fees for the course Post Graduate Program in Electric Vehicle Design and  Development is -

HeadAmount
Programme feesRs. 2,75,000
EMIRs. 14,375/month
certificate availability

Yes

certificate providing authority

Skill Lync

The syllabus

Course 1: Embedded Programming Essentials

Week 1 - C Language for Embedded Programming, C Input /Output Functions, C Data Types for Embedded Programming, C Language Operators
  • 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
Week 2 - C Control Statements, Function Prototypes, Introduction to Pointers, C Storage Classes and Type Qualifiers
  • 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
Week 3 - C Compilation Process, C Preprocessor Directives, Arrays in C, Arrays to Functions, and Array of Function Pointers
  • 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
Week 4 - Command Line Arguments, Variadic Functions, Strings and String Functions in C, Structures in C, Unions and Bitfields in C
  • 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
Week 5 - Advanced Function Arguments, Advanced Pointers-Void Pointers, File Operations in C, Standard Libraries C
  • 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
Week 6 - C Memory Management, Dynamic Memory Allocation, Modular C Programming, Modular C Programming, and C Program Optimization
  • 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
Week 7 - Stack and Stack Operations, Queue and Queue Operations, Linked List, Finite State Machine
  • 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
Week 8 - Process Management in C, Embedded Design Patterns
  • 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
Week 9 - C and Embedded C Standards
  • 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
Week 10 - AUTOSAR C Rules and MISRA C Guidelines
  • 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
Week 11 - Introduction to C++ and OOPS-Part 1
  • 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
Week 12 - OOPS - Part 2
  • 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
Week 13 - OOPS - Part 3
  • 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
Week 14 - Constructor and Destructors
  • 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
Week 15 - Keywords in C++
  • 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’
Week 16 - Type Casting
  • 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
Week 17 - Exception Handling
  • 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
Week 18 - Multi-Threading
  • 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

Course 2: Fundamentals of Embedded Systems

Week 1 - Role of Embedded Systems in Mechatronic Systems
  • Basics of Embedded Systems 
  • Basics of Automotive ECUs
  • Case Studies and Reference Designs of ECUs
Week 2 - ARM (MCU) Architecture
  • Basic Features of ARM Processor
  • Products Details and Product Roadmap
  • ARM Cortex Processor Internals
  • Cortex Microcontroller Software Interface  Standard (CMSIS)
  • ARM Cortex M4 Programming Model
Week 3 - Sensors, Actuators, and Instrumentation Cluster
  • System Basics
  • Basic Concepts of Sensors and Actuators
  • Types, Functions, and Applications
  • Sensor Terminology
  • Technology of Sensors and Role of Sensors and Actuators in Automotive Systems
  • Automotive Instrumentation Cluster Basics
  • Actuators
Week 4 - Embedded Systems Development
  • Embedded Systems Bare Metal Programming 
  • Philosophy 
  • General Real Time Operating System (RTOS) Concepts 
  • Bare Metal vs. RTOS 
  • Bare Metal/RTOS/OS: Comparison
  • Examples of Bare Metal, RTOS, OS Development
Week 5 - Software Development Life Cycle
  • Basics of SDLC
  • Phases of SDLC 
  • SDLC Models 
  • SDLC Frameworks
Week 6 - Introduction to Safety Standards
  • Different Safety Standards in Various Domains 
  • Secure Programming in C 
  • Less Secure Areas of C Program 
  • Secure C Coding Standards MISRA C
Week 7 - Get Started with Tinkercad, SimulIDE, MBED Platform
  • What is Arduino?
  • Why Arduino?
  • Most Common Arduino Platforms
  • What is Tinkercad?
  • How to use Tinkercad & Simulate Circuits
  • Download and Install SimulIDE
  • Blink Program and Simulation in SimulIDE
  • Introduction to Mbed
  • CMSIS
  • ARM Microcontroller Introduction
Week 8 - Arduino Digital Pins, GPIO Input/Output Modes, and Methods of Programming Digital GPIO
  • Demonstration of the Working of Dio Pins - Led Chaser
  • Voltmeter Project in Simul Ide 
  • L298 Motor Driver in Simulide 
  • Relay in Simulide 
  • Digital Inputs 
  • Digital Outputs
Week 9 - Introduction to Analog Data, Analog to Digital Conversion, Digital to Analog Conversion, Analog Data, ADC, and DAC in Mbed
  • Analog Data
  • NTC circuit example
  • Analog to digital conversion
  • Digital to analog conversion
  • Working with analog pins and simulate a code
  • Simulate a code for Thermometer using TMP36 Sensor in Tinkercad Simulator
  • LDR in SIMULIDE
  • Voltmeter in SIMULIDE
  • Libraries in Mbed
  • Reading and logging data from analog inputs
  • DAC in Mbed
  • Analog Output in Mbed
Week 10 - Timers in AVR based Microcontrollers, Concepts of PWM, and PWM in Mbed
  • Timers in Arduino UNO
  • Blink using timers
  • 500ms Blink Example code
  • Need of PWM
  • Fade
  • Simulation of Illustrating the analogWrite() function
  • H bridge 
  • DC motor control 
  • Servo motor mechanism
  • Servo mechanism- PWM pin in SIMULIDE
  • Timers in ARM based microcontrollers
Week 11 - Interrupts, Demonstration, and Advantages
  • About Interrupts 
  • Demonstration of Interrupts using Push Buttons 
  • Advantages of Interrupts with Example 
  • Polling Method 
  • Simulating a Code for Blinking the LED 
  • Problems in Polling Method 
  • Example of Interrupts in Mbed
Week 12 - Serial Communication Protocols
  • Introduction to Serial Communication
  • Types of serial communication
  • UART communication protocol
    • Simulate a code for communication between two Arduino  using  UART protocol
  • I2C communication Protocol
    • Simulate a code for communication between two Arduino  using  I2C protocol
  • SPI communication Protocol
    • Simulate a code for communication between two Arduino  using  SPI protocol

Course 3: AVR Bare Metal Programming- Live Sessions

Week 1 - Arduino Vs Bare Metal Programming and Compiling Program with Custom Make Files
  • 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
Week 2 - Pinout and Features of Atmega328 and AVR Architecture
  • Pin Out Details of Atmega328
  • Pin Description at a Glance
  • Features of Atmega38
  • AVR Architecture
Week 3 - Setting up Microchip Studio for AVR using SimulIDE to Simulate the Target Environment and Input & Output Ports of Atmega328
  • 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
Week 4 - Debugging the Code in Microchip Studio and Basics of Timers, Counters, and PWM
  • Starting a Debugging Session
  • Various Windows of Debugging
  • Adding Breakpoints
  • Timer Clock Sources
  • Counter Unit
  • Output Compare Unit
  • Compare Match Output
  • Modes of Operation
Week 5 - LCD Interface and Basics of ADC
  • 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
Week 6 - Analog Comparator and Interrupt
  • Introduction to Interrupt
  • Interrupt Service Routine(ISR)
  • Registers Associated with Interrupt
  • Code and Simulation of ISR
  • Introduction to Analog Comparator
Week 7 - Communication Protocols and Non-Volatile Memories
  • 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
Week 8 - Saving Power and Code Protection
  • Concept of Power Saving
  • Power Reduction Register
  • Different Sleep Modes of Atmega
  • Wake Up Sources
  • Watchdog Timer

Course 4: Software Verification and Validation and System Testing for Hand Code

Week 1 - Introduction to Verification and Validation and System Testing
  • 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
Week 2 - Test Case Development from Requirements – I
  • Introduction to Test Coverage Levels (C0, C1, MCDC)
  • Introduction to Different Test Design Techniques
  • Choosing Test Design Techniques for Various System Requirements (Examples)
Week 3 - Test Case Development from Requirements – II
  • 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]
Week 4 - Static Analysis and MISRA-C Guidelines
  • 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
Week 5 - Unit Testing and Integration Testing
  • 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
Week 6 - Automation and CI/CD
  • Overview of Test Automation
  • Introduction to Constructs of Infrastructure for CI/CD
  • Introduction to Git Hub
Week 7 - Tool Introduction, Familiarization and Static Analysis
  • Overview of LDRA Toolsuite
  • Analysis Scope Definition
  • UI View and Usage
  • LDRA -Tbrun, Tbvision, and TBReports Overview
Week 8 - Unit Testing and Integration Testing
  • 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

Course 5 Device Drivers and Serial Communication Protocols

Week 1 - Theoretical Introduction to ARM on-chip peripherals
Week 2 - Bare metal programming with board bring up
Week 3 - Driver development for GPIO, UART, SPI, I2C interfaces
Week 4 - Hands-on Peripheral Interfacing using SPI/I2C Interfaces
Week 5 - Theoretical Introduction on CAN, Ethernet, ARINC
Week 6 - CAN Driver Development (Hands-on)
Week 7 - CAN data analysis and visualization (Hands-on)

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books