Q

IMMERSIVE LEARNING

Home » immersive-learning

Learning by doing

In Emertxe we strongly believe learning is far more efficient when the person is encouraged to develop solutions with their own-hands. With this approach individuals will go through “do-reflect-generalize-apply” cycle thereby able to meet industry expectations. Applied Learning is key for long term career building.

“I hear and I forget. I see and I remember. I do and I understand”

– Confucius

Build Real Products and Solutions

Emertxe hands-on approach makes you learn Embedded Systems and IoT programming in the right way. Ample amount of hands-on exercises, template programs, assignments will surely build your confidence. However placement companies look for projects that really ensures you know a particular technology well.

In each module of our Embedded and IoT courses, you will be provided with a set of projects that is based on real time use-cases. These projects will test your ability to apply a particular aspect and demonstrate a working output. They will also expose you process oriented software development approaches like SDLC, using which you will be able to convert given requirements into a working output.

A sample list of projects

Have a look into our sample list of projects. The actual list is much longer than this. By implementing these projects in a hands-on manner, you will build sound fundamentals to become successful in your long term career in Embedded Systems and IoT.

Command Line Test

Project briefCommand line test is a BASH shell based tool that simulates login based online testing scenario. Initially the user will be provided with sign-in option where pre-defined users will be allowed to login. Upon successful login this tool will display questions for the user from existing data-base. It will also handle error conditions like time-out.
This tool will also store answers provided by users for future verification.
Technologies used
  • Shell programming constructs (ex: loops)
  • Pattern matching (ex: grep, sed etc…)
  • File handling (ex: permission, directories etc…)
ModuleLinux Systems & Shell programming

Image Steganography using LSB mechanism

Project brief

The art and science of hiding information by embedding messages within other, seemingly harmless messages. Bits of unused data are replaced by bits of valuable information using LSB mechanism. Sender and receiver will have individual key / secret based on which they will be able to extract the actual data from the image.

This project also gives basic level understanding of image processing methodologies.

Technologies used
  • Function pointers
  • File I/O operations
  • Bitwise operations
ModuleAdvanced C programming

Red Black Tree(RBT)

Project brief

A red–black tree is a kind of self-balancing binary search tree. Each node of the binary tree has an extra bit, and that bit is often interpreted as the color (red or black) of the node. These color bits are used to ensure the tree remains approximately balanced during insertions and deletions. Though it is not perfectly balanced tree, it is good enough to allow it to guarantee searching in O (log n).

The goal of the project is to implement all RBT operations and achieve optimal searching for large set of data.

Technologies used
  • Order complexity
  • Search and sort algorithms
  • Tree ADT operations
ModuleData Structures & Algorithms

Implementation of Trivial File Transfer Protocol (TFTP) – RFC 1350

Project brief

The Trivial File Transfer Protocol (TFTP) is a simple way of transferring file between two systems. This protocol is specified in RFC 1350.This protocol doesn’t support advanced available in FTP (ex: User authentication), typically used in Embedded systems for its smaller footprint and simplicity.

The goal of this project is to understand RFC and implement the protocol in a LAN environment. Eventually this project can be extended for advanced cases
like inter-operating with standard TFTP client / servers.

Technologies used
  • TCP/IP networking
  • UDP socket APIs
  • Time-out and re-transmission used in networks
ModuleLinux Internals & TCP/IP Networking

CAN based node communication for Automotive

Project brief

A Controller Area Network (CAN bus) is a vehicle bus standard designed to allow Microcontrollers and devices to communicate with each other in applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within auto-mobiles, but is also used in many other contexts.

The goal of this project is to implement CAN protocol based data exchange between two PIC based boards, which are acting as “nodes”. In this
implementation automotive use-case is assumed by exchanging data like engine
temperature, speed etc that are displayed using LCD panels.

Technologies used
  • CAN protocol
  • Command line based test protocol for node diagnostics
  • Various peripherals usage (ex: LCD)
ModuleMicro-controller programming

Kernel Optimization – Footprint and boot-time reduction on ARM

Project brief

In multi-tasking Embedded systems, having an optimized Kernel is one of the key requirements. With clear understanding of source code organization and various turning methodologies Linux Kernel size can be optimized. In the similar way understanding U-Boot, optimization of boot time can also achieved.

The goal of this project is to gain exposure in terms of Kernel optimization by creating a customized Kernel for an ARM based target.

Technologies used
  • Kernel source code organization & configuration options
  • U-Boot, Linux Kernel and Init system understanding
  • ARM target schematics
ModuleEmbedded Linux on ARM