BodhiLab Certification Programme
Jan - May 2020
The BodhiTree team at IIT Bombay is happy to announce BodhiLab Certification Programme! The invitation letter for this programme is here: http://bodhitree.cse.iitb.ac.in/bodhilab/invitation.html
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.
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 -
Lab problem statements, model solutions, and videos explaining the solutions by IIT Bombay faculty
Objective quizzes that test the learning from these labs
Videos covering the theory required for the labs by IIT faculty
Access to BodhiTree, the platform which will host the above interactive videos and which offers programming assignment auto-evaluation
Access to SAFE, an app on which the objective tests can be administered to students
Training to do the labs yourself, before you conduct the lab : This will be under remote supervision provided by IIT Bombay faculty/staff, using live chat/audio/video. A total of five hours of such pre-lab training sessions will be provided, over the semester.
Furthermore, you can use the given labs and associated exams for the internal assessment component of your students’ evaluation.
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.
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.
The BodhiTree platform will be used to share the Lab Problem Statements, videos, slides and any other support material. This will also be the platform on which you will create and run your lab subject. BodhiTree offers
General course management features
Video lectures with in-video quizzes (can be shared with students)
Programming assignment auto-evaluation
The SAFE mobile app will be used for objective quizzes that students can take on their mobile phones. SAFE offers easy administration and evaluation of these quizzes. SAFE incorporates several cheating-prevention mechanisms, so it can be ‘safely’ used for internal assessment marks, if you so desire.
Deadline to apply for the programme: Tue 07 January 2020
Selected teachers notified by Tue 14 January 2020
Last date for payment of certification fee: Mon 03 February 2020
The following will be shared with the selected teachers by Wed 15 Jan 2020:
Interactive video content relevant to the theoretical concepts behind the labs
Instructor account on the BodhiTree/SAFE platforms
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.
Lab help and quiz administration schedule
Pre-lab training session for teachers (via
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
To apply for this program you (teacher) must have the following ready, and then fill this form.
Identify at least two labs from each subject from the list of offered labs, which you will be administering to your students in the college subject you will be teaching during the semester
A letter of support from your College Principal/Head of Department in the given format. This letter should be typed on the Principal/HoD’s college letterhead, signed, scanned and uploaded.
Participants will be selected on the basis of the strength of their application, based on the information you provide us on the form.
There is no fee to apply for the program. Details of information for payment is here: payment-info.html
For additional details or clarifications contact
Bhaskaran Raman, Professor, Department of CSE, IIT Bombay.
Mobile number: 9820082064.
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++
Lab-1: Variable types and declarations, assignments, arithmetic, basic terminal I/O
Lab-2: Conditional Execution (if or switch statement)
Lab-3: Loops (for, while), including arrays
Lab-5: Recursive functions
Lab-1: Array Implementation of Queue Data Structure (as Circular Queue)
Lab-2: Array Implementation of Stack Data Structure
Lab-3: Application of stacks
Lab-4: Implementation of singly linked list
Lab-5: Tree traversals (e.g. in-order, pre-order, post-order)
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.
Lab-2: Layering. Understand the concept of layering (encapsulation, demultiplexing) by generating relevant traffic and analyzing the same via wireshark.
Lab-3: Tool Set-2: Insight into the network. Look at more tools (ip, arp,arping, ethtool, nmcli, netstat) to understand link, network protocols.
Lab-4: IP fragmentation and DHCP. Understand these two concepts via generating relevant traffic and analyzing the same via wireshark.
Lab-5: TCP/HTTP. Understand these two protocols in depth via generating relevant traffic and analyzing the same via wireshark.
Lab-1: Frequency analysis of mono-alphabetic cipher. Understand “ciphert-text only” attacks and how crypto-analysis is done to break the cipher.
Lab-2: Symmetric Key Encryption. Explore openssl library, understand the strengths and weaknesses of different symmetric key based block modes.
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.
Lab-4: Integrity. Explore openssl library to see how integrity is provided via hashes, MACs and digital signatures.
Lab-5: TLS/SSL. Understand the cryptographic protocol TLS/SSL via exploring “https” traces via wireshark.
Lab-1: MIPS instruction set: Understanding the MIPS instruction set through MIPS assembly programming in the SPIM simulator
Lab-2: Recursion in MIPS: Writing a recursive function in MIPS assembly, using the SPIM simulator
Lab-3: Data hazards in pipeline: Using a pipeline simulator to understand data hazards in a pipeline, MIPS/DLX 5-stage pipeline
Lab-4: Data forwarding in pipeline: Using a pipeline simulator to understand the benefits of data forwarding, MIPS/DLX 5-stage pipeline
Lab-5: Cache performance: Using a cache simulator to understand the effects of various cache parameters
Lab-1: Process and CPU monitoring: Understanding process and CPU monitoring on a Linux system using /proc and relevant Linux commands
Lab-2: Memory and disk monitoring: Understanding memory and disk usage by processes in a Linux system
Lab-3: Process management using a shell: Foreground and background processes, using the ps, exec, wait, kill commands
Lab-4: Dynamic memory management: mmap and munmap system calls
Lab-5: Multi-threaded programming: Using pthreads, locks and synchronization
To be printed on principal/HoD’s letterhead
The BodhiLab In-Charges
Department of Computer Science and Engineering
Powai, Mumbai 400 076
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>