BodhiLab Certification Programme

Jan - May 2020

Topic: BodhiLab Introduction Session

Link for 9-10am session on 27 Jan:
Meeting ID: 934 948 289
Password: 649514

Link for 2.30-3.30pm session on 27 Jan:
Meeting ID: 171 617 362
Password: 660805

SAFE for BodhiLab Introduction Session

  1. Install "SAFE" app: search play/app store for "SAFE IITB" (use the main/production version, not the beta version)
  2. Start app, give required permissions
  3. Use New User, Google login, Course registration code = PWKWY2KI
  4. Attempt demo quiz when instructed, password will be announced on chat

Who is it for

What is it

How do I get a certificate?

Tell me more

Platforms Used


How should I apply?

How do I pay the fee?

Contact Us

Lab Topics and System Requirements

Format for College Principal’s/HoD’s letter

The BodhiTree team at IIT Bombay is happy to announce BodhiLab Certification Programme! The invitation letter for this programme is here:

Who is it for

College teachers in Computer Science and Engineering, teaching any of the following subjects in the period Jan-May 2020 :

Programming in C/C++ ✤ Data Structures ✤ Computer Networks ✤ Network Security ✤ Computer Organization/Architecture ✤ Operating Systems.

What is it

BodhiLab is a lab support programme in which faculty and staff of IIT Bombay will provide you support for conducting laboratory assignments for the subjects you are teaching in the period Jan-May 2020.

In particular, selected teachers will get the following support -

Furthermore, you can use the given labs and associated exams for the internal assessment component of your students’ evaluation.

How do I get a certificate?

To get a certificate from this program, you must demonstrate proficiency at doing a minimum of two chosen labs yourself, and the successful conduct of the same labs for a minimum 30 students on the BodhiTree/SAFE platform. In addition, there is a fee of Rs 1000/-. Furthermore, high performers will be certified as coordinators for their region for subsequent runs of this programme.

Tell me more

Please see further details of platforms used, programme schedule, and application process. Also see the list of topics of the Lab Problem Statements in each subject.

Hurry! Application Deadline : Tue 07 January 2020.

Platforms Used


  1. Deadline to apply for the programme: Tue 07 January 2020

  2. Selected teachers notified by Tue 14 January 2020

  3. Last date for payment of certification fee: Mon 03 February 2020

  4. The following will be shared with the selected teachers by Wed 15 Jan 2020:

    1. Problem statements

    2. Interactive video content relevant to the theoretical concepts behind the labs

    3. Instructor account on the BodhiTree/SAFE platforms

  5. Introductory chat session (mandatory for all teachers): Mon 27 Jan 2020 9-10am OR Mon 27 Jan 2020 2.30-3.30pm. Each teacher has to attend ONE of the above two sessions. We have given two slots for flexibility.

  6. Lab help and quiz administration schedule

Pre-lab training session for teachers (via

text/audio group-chat)

Follow-up to group-chat session, as necessary

Last date for BodhiTree/SAFE based lab evaluation of student submissions (exact date can be fixed by each teacher as convenient)


Sat 01 Feb 2020

01 Feb to 07 Feb 2020

Sat 22 Feb 2020


Sat 15 Feb 2020

15 Feb to 21 Feb 2020

Sat 07 Mar 2020


Sat 29 Feb 2020

29 Feb to 06 Mar 2020

Sat 21 Mar 2020


Sat 14 Mar 2020

14 Mar to 20 Mar 2020

Sat 04 Apr 2020


Sat 28 Mar 2020

28 Mar to 03 Apr 2020

Sat 18 Apr 2020

How should I apply?

To apply for this program you (teacher) must have the following ready, and then fill this form.

Participants will be selected on the basis of the strength of their application, based on the information you provide us on the form.

How do I pay the fee?

There is no fee to apply for the program. Details of information for payment is here: payment-info.html

Contact Us

For additional details or clarifications contact

Bhaskaran Raman, Professor, Department of CSE, IIT Bombay.


Mobile number: 9820082064.

Lab Topics and System Requirements

Almost all the labs require Linux machines (can be virtual machine). The Programming Labs and Data Structures Labs can be done on Linux or Windows. Specific labs may require additional software, which can be freely installed on Linux.

Topics of the labs in each of the six subjects

Full lab details will be shared with selected participant teachers only.

Introduction to programming in C/C++

  1. Lab-1: Variable types and declarations, assignments, arithmetic, basic terminal I/O

  2. Lab-2: Conditional Execution (if or switch statement)

  3. Lab-3: Loops (for, while), including arrays

  4. Lab-4: Functions

  5. Lab-5: Recursive functions

Data Structures

  1. Lab-1: Array Implementation of Queue Data Structure (as Circular Queue)

  2. Lab-2: Array Implementation of Stack Data Structure

  3. Lab-3: Application of stacks

  4. Lab-4: Implementation of singly linked list

  5. Lab-5: Tree traversals (e.g. in-order, pre-order, post-order)

Computer Networks

  1. Lab-1: Tools Set-1: Action at a host. Look at relevant tools (ip, wget, ping, wireshark, tcpdump etc), system files (/etc/protocols, /etc/services etc) that help us generate, analyze and understand traffic that leaves a host.

  2. Lab-2: Layering. Understand the concept of layering (encapsulation, demultiplexing) by generating relevant traffic and analyzing the same via wireshark.

  3. Lab-3: Tool Set-2: Insight into the network. Look at more tools (ip, arp,arping, ethtool, nmcli, netstat) to understand link, network protocols.

  4. Lab-4: IP fragmentation and DHCP. Understand these two concepts via generating relevant traffic and analyzing the same via wireshark.

  5. Lab-5: TCP/HTTP. Understand these two protocols in depth via generating relevant traffic and analyzing the same via wireshark.

Network Security

  1. Lab-1: Frequency analysis of mono-alphabetic cipher. Understand “ciphert-text only” attacks and how crypto-analysis is done to break the cipher.

  2. Lab-2: Symmetric Key Encryption. Explore openssl library, understand the strengths and weaknesses of different symmetric key based block modes.

  3. Lab-3: RSA and Hybrid Use. Explore RSA vis openssl library and also contrast the speed of RSA vs AES to motivate the need for hybrid usage in encryption.

  4. Lab-4: Integrity. Explore openssl library to see how integrity is provided via hashes, MACs and digital signatures.

  5. Lab-5: TLS/SSL. Understand the cryptographic protocol TLS/SSL via exploring “https” traces via wireshark.

Computer Organization/Architecture

  1. Lab-1: MIPS instruction set: Understanding the MIPS instruction set through MIPS assembly programming in the SPIM simulator

  2. Lab-2: Recursion in MIPS: Writing a recursive function in MIPS assembly, using the SPIM simulator

  3. Lab-3: Data hazards in pipeline: Using a pipeline simulator to understand data hazards in a pipeline, MIPS/DLX 5-stage pipeline

  4. Lab-4: Data forwarding in pipeline: Using a pipeline simulator to understand the benefits of data forwarding, MIPS/DLX 5-stage pipeline

  5. Lab-5: Cache performance: Using a cache simulator to understand the effects of various cache parameters

Operating Systems

  1. Lab-1: Process and CPU monitoring: Understanding process and CPU monitoring on a Linux system using /proc and relevant Linux commands

  2. Lab-2: Memory and disk monitoring: Understanding memory and disk usage by processes in a Linux system

  3. Lab-3: Process management using a shell: Foreground and background processes, using the ps, exec, wait, kill commands

  4. Lab-4: Dynamic memory management: mmap and munmap system calls

  5. Lab-5: Multi-threaded programming: Using pthreads, locks and synchronization

Format for College Principal’s/HoD’s letter

To be printed on principal/HoD’s letterhead


The BodhiLab In-Charges

Department of Computer Science and Engineering

IIT Bombay,

Powai, Mumbai 400 076

Dear Professors,

I hereby approve the application of <name of college teacher> for the BodhiLab Jan-May 2020 programme. Our college will be supportive of this activity undertaken by the selected teachers, including reimbursement of the certification fee.

I confirm that the chosen labs will be part of the curriculum and that the lab evaluation will be on BodhiTree/SAFE platforms.

(Add any other comments, if necessary)



<Name of College Principal/HoD>